Skip to content

Latest commit

 

History

History
53 lines (43 loc) · 2.27 KB

File metadata and controls

53 lines (43 loc) · 2.27 KB

Changelog

All notable changes to kjump are documented here.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. While the version is 0.x, the apps.json schema, the D-Bus API, and the kjump CLI may still change between minor releases.

Added

  • Unit tests (tests/, stdlib unittest) for the pure logic: shortcut id/name resolution, apps.json validation, the kga zero-sentinel and a(ai) key-sequence unwrapping, and the qdbus binary resolver.

Changed

  • Extracted resolve(), strip_zero_keys(), and flatten_key_seqs() in the daemon (and resolve_qdbus() in the GUI) into pure, testable functions — no behaviour change.

0.1.0 - 2026-07-26

First public release. Run-or-raise for KDE Plasma 6 (Wayland and X11): press a global shortcut to focus a matching window, or launch the app if none is open.

Added

  • kjumpd daemon: registers a global shortcut per app via kglobalaccel, raises matching windows through KWin's scripting D-Bus, and launches the configured command when no window matches. Owns its own kglobalaccel component, so all bindings appear as a single KJump section in System Settings → Shortcuts, persistent across daemon restarts.
  • Bidirectional shortcut sync: edits in the GUI push to kglobalaccel, and edits made in System Settings sync back into apps.json.
  • kjump-config GUI (PySide6): manage apps and shortcuts, pick from installed applications, and grab a window's class with Pick from window….
  • kjump <entry> CLI: trigger run-or-raise from the command line by an entry's id or name (case-insensitive) — for scripting and automation without binding a global shortcut.
  • --version on kjumpd, kjump-config, and kjump.
  • Per-user make install / make uninstall (to ~/.local, no root), including a systemd user unit for the daemon and a dependency check.
  • MIT license.

Notes

  • The Qt 6 qdbus CLI the GUI shells out to is named qdbus-qt6 on Fedora/Debian and qdbus6 on Arch; kjump-config resolves whichever is present.