1
0
Fork
You've already forked jumpkwapp-go
0
CLI tool to run or raise applications in KDE 6 / Wayland, inspired by X11 jumpapp (experimental Go version)
  • Go 64.6%
  • JavaScript 35.4%
Find a file
2026年01月11日 10:10:45 +02:00
DEBUGGING.md improve markdown formatting 2026年01月04日 17:51:00 +02:00
go.mod initial go version (llm generated) 2026年01月11日 09:29:21 +02:00
go.sum initial go version (llm generated) 2026年01月11日 09:29:21 +02:00
jumpkwapp.go rm python version 2026年01月11日 10:10:45 +02:00
kwin_script_template.js separate script KWin template to it's own file 2026年01月11日 09:44:50 +02:00
LICENSE MIT License typo fix 2026年01月04日 18:53:34 +02:00
README.md rm python version 2026年01月11日 10:10:45 +02:00

jumpkwapp

Run-or-raise utility for KDE Plasma 6 / Wayland, written in Go.

Originally inspired by ww-run-or-raise and classic X11 jumpapp, this tool raises an existing window that matches your filters (class, regex, caption, desktop) or launches a command when no match is found. D-Bus messaging is handled with github.com/godbus/dbus.

Might also work on Plasma 5 / X11 with minimal adjustments.

Features

  • Filter windows by exact class, class regex, or caption (case-insensitive regex).
  • Restrict matches to the current virtual desktop.
  • Optional toggle mode minimizes a window if it is already active.
  • Optional command launches when no matching window exists.
  • Automatically embeds and renders the KWin JavaScript activation logic at runtime.

Requirements

  • Go 1.20 or newer.
  • KDE Plasma 6 with KWin’s D-Bus scripting interface available.

Installation

Clone the repository and run/build:

go mod tidy # fetch dependencies (godbus/dbus)
go run ./jumpkwapp.go -f firefox -c "firefox" -t --current-desktop # run without building
go build ./jumpkwapp.go # build
./jumpkwapp -f firefox -c firefox -t --current-desktop # run

Usage

jumpkwapp [options]
-f, --filter Match window class (exact)
-fa, --filter-alternative Match window caption (regex, case-insensitive)
-fr, --filter-regex Match window class (regex)
-d, --current-desktop Only consider windows on the current desktop
-t, --toggle Minimize the window if it is already active
-c, --command CMD Launch CMD if no window matches

Examples

Raise an existing LibreWolf window on the current desktop or launch it if missing:

jumpkwapp -f librewolf -c librewolf --current-desktop

Bind the command to a global shortcut via KDE System Settings → Shortcuts.

Development

  • See DEBUGGING.md for tips on querying KWin state.