summaryrefslogtreecommitdiff
path: root/modules/bar
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-13 11:25:11 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-13 11:25:11 +1000
commita57dd9343a2643f73f3994dc230b824617f89ecf (patch)
tree4b36f90728ebd14b4e85ec6c3d69a28dd907c952 /modules/bar
parentnetwork: fix undef errors (diff)
downloadcaelestia-shell-a57dd9343a2643f73f3994dc230b824617f89ecf.tar.gz
caelestia-shell-a57dd9343a2643f73f3994dc230b824617f89ecf.tar.bz2
caelestia-shell-a57dd9343a2643f73f3994dc230b824617f89ecf.zip
popouts/tray: better interaction
Not exclusive when on first layer of submenus Closes #610
Diffstat (limited to 'modules/bar')
-rw-r--r--modules/bar/popouts/Content.qml6
-rw-r--r--modules/bar/popouts/TrayMenu.qml2
-rw-r--r--modules/bar/popouts/Wrapper.qml1
3 files changed, 6 insertions, 3 deletions
diff --git a/modules/bar/popouts/Content.qml b/modules/bar/popouts/Content.qml
index b600867..5c9fdf7 100644
--- a/modules/bar/popouts/Content.qml
+++ b/modules/bar/popouts/Content.qml
@@ -10,11 +10,13 @@ Item {
id: root
required property Item wrapper
+ readonly property Popout currentPopout: content.children.find(c => c.shouldBeActive) ?? null
+ readonly property Item current: currentPopout?.item ?? null
anchors.centerIn: parent
- implicitWidth: (content.children.find(c => c.shouldBeActive)?.implicitWidth ?? 0) + Appearance.padding.large * 2
- implicitHeight: (content.children.find(c => c.shouldBeActive)?.implicitHeight ?? 0) + Appearance.padding.large * 2
+ implicitWidth: (currentPopout?.implicitWidth ?? 0) + Appearance.padding.large * 2
+ implicitHeight: (currentPopout?.implicitHeight ?? 0) + Appearance.padding.large * 2
Item {
id: content
diff --git a/modules/bar/popouts/TrayMenu.qml b/modules/bar/popouts/TrayMenu.qml
index 986c806..02c76d2 100644
--- a/modules/bar/popouts/TrayMenu.qml
+++ b/modules/bar/popouts/TrayMenu.qml
@@ -28,7 +28,7 @@ StackView {
popExit: NoAnim {}
HyprlandFocusGrab {
- active: true
+ active: root.depth > 1
windows: [QsWindow.window]
onCleared: root.popouts.hasCurrent = false
}
diff --git a/modules/bar/popouts/Wrapper.qml b/modules/bar/popouts/Wrapper.qml
index 20f4c5b..4be47e4 100644
--- a/modules/bar/popouts/Wrapper.qml
+++ b/modules/bar/popouts/Wrapper.qml
@@ -17,6 +17,7 @@ Item {
readonly property real nonAnimWidth: x > 0 || hasCurrent ? children.find(c => c.shouldBeActive)?.implicitWidth ?? content.implicitWidth : 0
readonly property real nonAnimHeight: children.find(c => c.shouldBeActive)?.implicitHeight ?? content.implicitHeight
+ readonly property Item current: content.item?.current ?? null
property string currentName
property real currentCenter