aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/island/StatusPill.qml
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-07 18:58:11 +0200
committerDanilo M. <danix@danix.xyz>2026-10-07 18:58:11 +0200
commitf54639e3bee6803fc884135783c0633318a161a2 (patch)
tree9ee4a0f5cac51ceaf71bf4f232ec300336d0eadb /desktop/island/StatusPill.qml
parentb324ff0fb5cbc13a038ce2e5a2a4af69598bb91a (diff)
downloadquickshell-f54639e3bee6803fc884135783c0633318a161a2.tar.gz
quickshell-f54639e3bee6803fc884135783c0633318a161a2.zip
feat(island): the island window on DP-1
A fixed overlay strip that never resizes: the pills animate inside it and the input mask follows their rectangles, so resizing a layer surface during a morph never happens. Hidden behind a sliver that also carries the privacy colours; the clock pill drops alone for a workspace or app-open flick. shell.qml gains the UseQApplication pragma, which tray menus need, and the island holds itself shown while a tray menu is open, since the menu is a separate popup that would otherwise un-hover the pills and let the hide timer fire. The hold ends at the next hover. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/island/StatusPill.qml')
-rw-r--r--desktop/island/StatusPill.qml3
1 files changed, 3 insertions, 0 deletions
diff --git a/desktop/island/StatusPill.qml b/desktop/island/StatusPill.qml
index ab62da8..344117c 100644
--- a/desktop/island/StatusPill.qml
+++ b/desktop/island/StatusPill.qml
@@ -29,6 +29,8 @@ Capsule {
signal openSound()
signal openDrawer()
+ // Emitted just before a tray menu opens; the menu cannot report its close.
+ signal menuShown()
expanded: panel === "sound"
restWidth: restRow.implicitWidth + 24
@@ -75,6 +77,7 @@ Capsule {
if (!wantsMenu) { item.activate(); return; }
if (!item.hasMenu) return;
const p = trayIcon.mapToItem(null, 0, trayIcon.height + 6);
+ pill.menuShown();
item.display(pill.window, p.x, p.y);
}
}