diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-13 11:25:11 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-13 11:25:11 +1000 |
| commit | a57dd9343a2643f73f3994dc230b824617f89ecf (patch) | |
| tree | 4b36f90728ebd14b4e85ec6c3d69a28dd907c952 /modules/bar | |
| parent | network: fix undef errors (diff) | |
| download | caelestia-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.qml | 6 | ||||
| -rw-r--r-- | modules/bar/popouts/TrayMenu.qml | 2 | ||||
| -rw-r--r-- | modules/bar/popouts/Wrapper.qml | 1 |
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 |