xfce-cups-os-menu is a fork of the Xfce Whisker Menu plugin, adapted for Cups OS workflows.
It keeps the familiar Whisker application launcher experience while adding Cups OS / VM-oriented features, especially a configurable Cups on the Tray section for grouped operational shortcuts.
- Base: Xfce Whisker Menu architecture and UI model
- Fork target: Cups OS environments
- Plugin name: CupsOS Menu
- Popup helper executable:
xfce4-popup-cupsosmenu
The current repository history contains an upstream import and a fork commit that rebrands and adapts the plugin for Cups OS usage.
From the project history and source changes, the following Cups OS-oriented features are implemented:
- Plugin/module renamed to
cupsosmenu - Desktop plugin metadata renamed to
CupsOS Menu - Panel icon namespace switched to
org.xfce.panel.cupsosmenu - Popup helper renamed to
xfce4-popup-cupsosmenu
This fork adds a full shortcut subsystem intended for VM/operations workflows:
- Configurable groups (
cups_tray_group_names) - Group labels (
cups_tray_group_labels) with Qubes-style numeric label mapping (0..8) - Per-shortcut group assignment
- Per-shortcut name + command storage
- Full CRUD and reordering support in the settings dialog
- Shortcut groups are inserted as dedicated categories in the launcher
Tray groups support Qubes-like labels and colors:
- White, Red, Orange, Yellow, Green, Gray, Blue, Purple, Black
- Color box rendering for group categories
- Group tooltip includes label ID and color code
Cups tray shortcuts are represented as ScriptLauncher items:
- Launch arbitrary shell commands directly from the menu
- Search matching by shortcut name and command text
- Tooltip shows the underlying command
The scripts/cups-tray/ folder includes operational helpers:
passwordless-sudo-wrapper.shpasswordless-sudo-allowlist.confgenerate-sudoers.shsudoers.d/cupsos-tray.template- Documentation for setting up controlled passwordless sudo
These scripts are intended to support privileged operational shortcuts safely and reproducibly.
The fork still provides the main Whisker-style launcher behavior:
- Favorites list with drag/reorder
- Recently used applications
- Category browsing
- Search-based launch
- Session/power commands
- Configurable appearance, commands, and behavior from plugin settings
Main dependencies (from build files):
- GLib >= 2.50
- GTK3 >= 3.22
- Xfce >= 4.16 stack:
garcon-1libxfce4panel-2.0libxfce4ui-2libxfce4util-1.0libxfconf-0
- Optional:
accountsservicegtk-layer-shell-0exo-2(for older libxfce4ui)
This repository supports Meson and CMake.
meson setup builddir
meson compile -C builddir
sudo meson install -C builddircmake -S . -B build
cmake --build build
sudo cmake --install build- Right-click Xfce panel
- Panel → Add New Items
- Add CupsOS Menu
Use the installed helper command:
xfce4-popup-cupsosmenuUseful options:
--pointerpopup at mouse pointer--centerpopup at screen center--listlist available instances--instance=<id>target a specific panel instance
In plugin preferences:
- Create one or more tray groups
- Assign each group a Qubes-style label color (0..8)
- Add shortcuts (name + command) under a selected group
- Reorder groups and shortcuts as needed
Shortcuts appear as launcher entries under their generated group categories.
For privileged commands, see:
scripts/cups-tray/README-passwordless-sudo.md
panel-plugin/— main plugin source, settings dialog, launcher pages, popup utilityscripts/cups-tray/— helper scripts for operational shortcuts and sudoers setupicons/— plugin iconspo/— translations
GPL-2.0-or-later. See COPYING.