Skip to content

Fix context menus for Wine tray items - #9245

Open
clementrog wants to merge 1 commit into
omacom:quattrofrom
clementrog:fix/wine-tray-context-menu
Open

Fix context menus for Wine tray items#9245
clementrog wants to merge 1 commit into
omacom:quattrofrom
clementrog:fix/wine-tray-context-menu

Conversation

@clementrog

Copy link
Copy Markdown

What changed

  • Route Wine status notifier items to their native ContextMenu method instead of trying to render /NO_DBUSMENU as a DBusMenu
  • Resolve the current item through StatusNotifierWatcher, verify both its Wine id and /NO_DBUSMENU sentinel, then forward the click's screen coordinates
  • Leave regular DBusMenu tray items on the existing path
  • Cover Wine detection plus malformed arguments, stale ids, real DBus menus, and the exact native call coordinates

Why

Battle.net running through GE-Proton registers a live status notifier item like this:

Id:   wine-0x200d4-0
Menu: /NO_DBUSMENU

The current tray treats that sentinel as a real DBusMenu object. Right-clicking therefore logs DBus UnknownMethod errors and renders nothing, which also makes Battle.net's Exit action inaccessible.

The freedesktop Status Notifier Item specification defines ContextMenu(INT x, INT y) for exactly this right-click fallback, with coordinates in screen space.

Verification

  • bash test/shell.d/tray-test.sh
  • bash test/shell.d/tray-context-menu-test.sh
  • ./test/cli
  • ./test/all: both new tray test files pass in the full run. Seven unrelated host-environment checks initially failed; each was rerun successfully with its expected companion checkout or host access. The URL-checker absence case also passes with an isolated PATH, because this Omarchy machine already has the checker installed globally.
  • Live Battle.net item: confirmed wine-0x200d4-0 and /NO_DBUSMENU, ran the exact helper from this branch, and visually confirmed the native menu opens with its Exit action

The branch is rebased onto current quattro.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant