diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-24 09:44:39 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-24 09:44:39 +0200 |
| commit | db144ea05a98051662b4d77a2a0dfd950d670295 (patch) | |
| tree | a7a38704c421b9eb983d48f32345c7c923771b07 /desktop/island/README.md | |
| parent | 0fa4736470a39b6abbb0e70d3eb5b7636fb61549 (diff) | |
| download | quickshell-db144ea05a98051662b4d77a2a0dfd950d670295.tar.gz quickshell-db144ea05a98051662b4d77a2a0dfd950d670295.zip | |
island: release the tray-menu hold when the menu closes
A tray menu un-hovers the pills, so the island holds itself shown while
one is open. display() reports no close, so the hold ended only when
the pointer came back to the island. Quitting an app from its menu
left the pointer on the vanished menu, below the pills, and the island
stayed open until the next hover.
Menus now open through a QsMenuAnchor. Its closed signal fires on any
dismissal, an entry picked, Escape or a click elsewhere, and clears the
hold and restarts the hide timer. Checked by eye: menu placement
unchanged, Quit and a dismissal both retract the island, hovering back
keeps it shown.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/island/README.md')
| -rw-r--r-- | desktop/island/README.md | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/desktop/island/README.md b/desktop/island/README.md index 9353f7e..01751c1 100644 --- a/desktop/island/README.md +++ b/desktop/island/README.md @@ -67,8 +67,8 @@ page now (`desktop/modules/perf/`). opens the sound panel. - **Tray** shows `SystemTray` items. Left click activates, right click opens the item's menu. The island is the session's StatusNotifier host. A tray - menu is a separate popup, so the island holds itself shown after `display()` - until the pointer returns. + menu is a separate popup, opened through a `QsMenuAnchor`, so the island + holds itself shown until the anchor reports the menu closed. - **Layout flag** shows the current keyboard layout, driven by Hyprland's `activelayout` event. Scroll switches layout with `hyprctl switchxkblayout current next|prev`. |
