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, 7 insertions, 3 deletions
diff --git a/desktop/island/Island.qml b/desktop/island/Island.qml
index 43422dc..61701d8 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
- // "", "sound" or "controls".
+ // "", "sound", "controls" or "calendar".
property string panel: ""
// --- reveal and hide -------------------------------------------------
@@ -57,7 +57,8 @@ PanelWindow {
else if (panel === "" && !menuHeld) hideTimer.restart();
}
onPanelChanged: {
- if (panel !== "") keys.forceActiveFocus();
+ if (panel === "calendar") clock.focusPanel();
+ else if (panel !== "") keys.forceActiveFocus();
else if (!hovered) hideTimer.restart();
}
@@ -140,7 +141,7 @@ PanelWindow {
// Key events reach a focused item, not the window (AGENTS.md).
Item {
id: keys
- Keys.onEscapePressed: win.panel = ""
+ Keys.onEscapePressed: if (!(win.panel === "calendar" && clock.back())) win.panel = ""
}
// --- geometry --------------------------------------------------------
@@ -202,6 +203,9 @@ PanelWindow {
flicking: win.flicking
flickWs: win.flickWs
flickApp: win.flickApp
+ panel: win.panel
+ onOpenCalendar: win.panel = win.panel === "calendar" ? "" : "calendar"
+ onCloseCalendar: win.panel = ""
}
StatusPill {