Alvin Jorrel Pascual cfc001b9b9 chore: release v1.02.0 (#35)
* fix(dbus): implement candidate scoring for settings menu items and optimize trigger IPC (#26) (#31)

* fix(dbus): replace keyword blacklist with candidate scoring and optimize trigger IPC

* fix(security): sanitize appName argument and add helper exception logging

- Use POSIX single-quote escaping for appName passed to dbus_menu_helper.py

- Log unhandled DBus exceptions to stderr for easier debugging

* feat(appearance): add vertical offset control and system font size matching (#29) (#32)

- Add verticalOffset setting to allow fine-tuning window title vertical alignment

- Add useSystemFontSize setting to inherit Plasma system font size

- Set frame SVG prefix to normal when resting to mirror Global Menu margin geometry

- Ensure CItem fills height/width in GridLayout

- Connect verticalOffset and font scaling to MockWidget live preview

* feat(appearance): add option to hide inactive window text on single activity (#30) (#33)

* feat(appearance): add monochrome icon option under appearance settings (#24) (#34)

* chore: bump version to v1.02.0 and update links & docs

- Bump version to v1.02.0 in metadata.json

- Add Ko-fi link to Donors in metadata.json and support badge in README.md

- Update README.md with new features and correct plasmoid install paths
2026-09-04 23:11:45 -06:00
2026-09-04 23:11:45 -06:00
2026-07-03 16:26:19 -06:00
2026-08-20 10:46:24 -06:00
2026-07-03 14:57:20 -06:00
2026-07-03 14:57:20 -06:00
2026-07-03 14:57:20 -06:00
2018-11-11 14:28:41 +02:00
2026-09-04 23:11:45 -06:00
2026-08-20 10:46:24 -06:00
2026-08-20 10:46:24 -06:00
2026-08-20 10:46:24 -06:00
2026-08-20 10:46:24 -06:00
2026-09-04 23:11:45 -06:00

Active Window Menu

Active Window Menu Logo

Install from KDE Store Support on Ko-fi

A Mac-like window title and context menu applet built natively for KDE Plasma 6.

Features

  • Mac-Style App Menu: Left-click the active window's title in the panel to open a native context menu with window management actions (Minimize, Maximize, Close, Keep Above, etc.).
  • Smart App Menu Heuristics: Dynamically traverses D-Bus AppMenu trees with candidate scoring to expose application-specific "Preferences/Settings" and "About" actions directly in the menu.
  • Native Plasma 6 Architecture: Built on PlasmaExtras.Menu to ensure robust Wayland support, focus management, and flawless C++ backend integration.
  • Pixel-Perfect Aesthetic & Alignment: Mathematically centered layouts, 2px tight vertical panel margins, fine-grained vertical text offset, and system font size matching.
  • Monochrome & Inactive Display Options: Toggle monochrome symbolic icons to match panel styling, and optionally hide inactive window text on single-activity setups.
  • Dynamic Substitutions: Highly customizable text display using variables like %a (App Name) and %w (Window Title).

Credits & Acknowledgments

This project was heavily refactored and expanded from the fantastic foundational work of:

  • Dhruvesh Surolia (who ported the original concept to Plasma 6)
  • Psifidotos (creator of the original Active Window Control applet)

Substitutions

Images

Panels
Hover states across different Plasma themes

Menu
Context menu with window management actions

About
About page

Settings Configuration
Applet Settings (Appearance, Behavior, Substitutions, Keyboard Shortcuts)

Installation

You can easily install this directly through your Plasma Desktop:

  1. Right-click your panel and select Add Widgets...
  2. Click Get New Widgets...
  3. Search for Active Window Menu and hit install!

Alternatively, if you are viewing this on a system with KDE Discover installed, you can use an AppStream link (if you have your store ID): Install via Discover or View on KDE Store

Manual Installation

If you've cloned this repository, you can easily install and test it using the provided script:

./install.sh

Note: This script copies the contents to ~/.local/share/plasma/plasmoids/com.ajxcodes.active-window-menu and automatically restarts the Plasma shell.

Alternatively, you can build and install it using Plasma's native package tool:

kpackagetool6 -t Plasma/Applet -i ./
2026-11-04 15:32:40 -05:00
Languages
QML 86.4%
Python 9.8%
JavaScript 3.4%
Shell 0.4%