aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/island/Island.qml
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/island/Island.qml')
-rw-r--r--desktop/island/Island.qml10
1 files changed, 9 insertions, 1 deletions
diff --git a/desktop/island/Island.qml b/desktop/island/Island.qml
index 754a3d0..d5abf57 100644
--- a/desktop/island/Island.qml
+++ b/desktop/island/Island.qml
@@ -42,7 +42,7 @@ PanelWindow {
WlrLayershell.namespace: "keystone-island"
WlrLayershell.keyboardFocus: panel !== "" ? WlrKeyboardFocus.OnDemand : WlrKeyboardFocus.None
- // "", "sound", "calendar" or "obs".
+ // "", "sound", "headphones", "calendar" or "obs".
property string panel: ""
// --- reveal and hide -------------------------------------------------
@@ -136,6 +136,12 @@ PanelWindow {
function onConnectedChanged() { if (!Obs.connected && win.panel === "obs") win.panel = ""; }
}
+ // The same for the headphones disconnecting, or powered off from their panel.
+ Connections {
+ target: status
+ function onPhonesChanged() { if (!status.phones && win.panel === "headphones") win.panel = ""; }
+ }
+
HyprlandFocusGrab {
windows: [win]
active: win.panel !== ""
@@ -314,6 +320,8 @@ PanelWindow {
panel: win.panel
onMenuShown: win.menuHeld = true
onOpenSound: win.panel = win.panel === "sound" ? "" : "sound"
+ onOpenHeadphones: win.panel = win.panel === "headphones" ? "" : "headphones"
+ onClosePanel: win.panel = ""
onOpenDrawer: { win.panel = ""; win.drawer.show("sound"); }
}