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.qml13
1 files changed, 12 insertions, 1 deletions
diff --git a/desktop/island/Island.qml b/desktop/island/Island.qml
index 9cee3d5..43422dc 100644
--- a/desktop/island/Island.qml
+++ b/desktop/island/Island.qml
@@ -36,7 +36,7 @@ PanelWindow {
WlrLayershell.namespace: "quickshell-island"
WlrLayershell.keyboardFocus: panel !== "" ? WlrKeyboardFocus.OnDemand : WlrKeyboardFocus.None
- // "" or "sound".
+ // "", "sound" or "controls".
property string panel: ""
// --- reveal and hide -------------------------------------------------
@@ -61,6 +61,15 @@ PanelWindow {
else if (!hovered) hideTimer.restart();
}
+ // The keybind's way in: reveal, and open or close the controls panel.
+ // Closing goes through onPanelChanged, which starts the hide timer when
+ // the pointer is elsewhere.
+ function toggleControls() {
+ hideTimer.stop();
+ shown = true;
+ panel = panel === "controls" ? "" : "controls";
+ }
+
Timer {
id: hideTimer
interval: 400
@@ -206,5 +215,7 @@ PanelWindow {
onMenuShown: win.menuHeld = true
onOpenSound: win.panel = win.panel === "sound" ? "" : "sound"
onOpenDrawer: { win.panel = ""; win.drawer.show("sound"); }
+ onOpenControls: win.toggleControls()
+ onOpenPage: page => { win.panel = ""; win.drawer.show(page); }
}
}