diff options
| -rw-r--r-- | modules/bar/Bar.qml | 3 | ||||
| -rw-r--r-- | modules/bar/components/Power.qml | 7 | ||||
| -rw-r--r-- | modules/drawers/Drawers.qml | 1 | ||||
| -rw-r--r-- | modules/drawers/Panels.qml | 5 | ||||
| -rw-r--r-- | modules/notifications/Content.qml | 7 | ||||
| -rw-r--r-- | modules/notifications/Wrapper.qml | 7 | ||||
| -rw-r--r-- | services/Visibilities.qml | 1 |
7 files changed, 22 insertions, 9 deletions
diff --git a/modules/bar/Bar.qml b/modules/bar/Bar.qml index 9f5509b..5a8f598 100644 --- a/modules/bar/Bar.qml +++ b/modules/bar/Bar.qml @@ -11,6 +11,7 @@ Item { id: root required property ShellScreen screen + required property PersistentProperties visibilities required property BarPopouts.Wrapper popouts function checkPopout(y: real): void { @@ -169,6 +170,8 @@ Item { anchors.horizontalCenter: parent.horizontalCenter anchors.bottom: parent.bottom anchors.bottomMargin: Appearance.padding.large + + visibilities: root.visibilities } } } diff --git a/modules/bar/components/Power.qml b/modules/bar/components/Power.qml index a870cb3..c74dd3c 100644 --- a/modules/bar/components/Power.qml +++ b/modules/bar/components/Power.qml @@ -4,6 +4,10 @@ import "root:/config" import Quickshell MaterialIcon { + id: root + + required property PersistentProperties visibilities + text: "power_settings_new" color: Colours.palette.m3error font.bold: true @@ -20,8 +24,7 @@ MaterialIcon { radius: Appearance.rounding.full function onClicked(): void { - const v = Visibilities.screens[QsWindow.window.screen]; - v.session = !v.session; + root.visibilities.session = !root.visibilities.session; } } } diff --git a/modules/drawers/Drawers.qml b/modules/drawers/Drawers.qml index 10cd86b..27088a4 100644 --- a/modules/drawers/Drawers.qml +++ b/modules/drawers/Drawers.qml @@ -135,6 +135,7 @@ Variants { id: bar screen: scope.modelData + visibilities: visibilities popouts: panels.popouts } } diff --git a/modules/drawers/Panels.qml b/modules/drawers/Panels.qml index 5b2229c..909fc9f 100644 --- a/modules/drawers/Panels.qml +++ b/modules/drawers/Panels.qml @@ -27,8 +27,6 @@ Item { anchors.margins: Config.border.thickness anchors.leftMargin: bar.implicitWidth - Component.onCompleted: Visibilities.panels[screen] = this - Osd.Wrapper { id: osd @@ -44,6 +42,9 @@ Item { Notifications.Wrapper { id: notifications + visibilities: root.visibilities + panel: root + anchors.top: parent.top anchors.right: parent.right } diff --git a/modules/notifications/Content.qml b/modules/notifications/Content.qml index 108f8d3..701e245 100644 --- a/modules/notifications/Content.qml +++ b/modules/notifications/Content.qml @@ -8,6 +8,8 @@ import QtQuick Item { id: root + required property PersistentProperties visibilities + required property Item panel readonly property int padding: Appearance.padding.large anchors.top: parent.top @@ -24,9 +26,6 @@ Item { for (let i = 0; i < count; i++) height += list.itemAtIndex(i)?.nonAnimHeight ?? 0; - const screen = QsWindow.window?.screen; - const visibilities = Visibilities.screens[screen]; - const panel = Visibilities.panels[screen]; if (visibilities && panel) { if (visibilities.osd) { const h = panel.osd.y - Config.border.rounding * 2; @@ -41,7 +40,7 @@ Item { } } - return Math.min((screen?.height ?? 0) - Config.border.thickness * 2, height + padding * 2); + return Math.min((QsWindow.window?.screen?.height ?? 0) - Config.border.thickness * 2, height + padding * 2); } ClippingWrapperRectangle { diff --git a/modules/notifications/Wrapper.qml b/modules/notifications/Wrapper.qml index 27b9219..12dedcf 100644 --- a/modules/notifications/Wrapper.qml +++ b/modules/notifications/Wrapper.qml @@ -1,14 +1,21 @@ import "root:/config" +import Quickshell import QtQuick Item { id: root + required property PersistentProperties visibilities + required property Item panel + visible: height > 0 implicitHeight: content.implicitHeight implicitWidth: content.implicitWidth Content { id: content + + visibilities: root.visibilities + panel: root.panel } } diff --git a/services/Visibilities.qml b/services/Visibilities.qml index eb6ddfb..9b04118 100644 --- a/services/Visibilities.qml +++ b/services/Visibilities.qml @@ -4,7 +4,6 @@ import Quickshell Singleton { property var screens: ({}) - property var panels: ({}) function getForActive(): PersistentProperties { return Object.entries(screens).find(s => s[0].slice(s[0].indexOf('"') + 1, s[0].lastIndexOf('"')) === Hyprland.focusedMonitor.name)[1]; |