From b00e013752e261cce000b38d215b9c7bef8c5ff8 Mon Sep 17 00:00:00 2001 From: voidarc Date: Mon, 17 Aug 2026 17:46:26 +0100 Subject: [PATCH] only opens menu on one monitor and added background --- Bar.qml | 19 ++++++++++++++++++- Services/IpcManager.qml | 3 +++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Bar.qml b/Bar.qml index 92f1763..e20c2c6 100644 --- a/Bar.qml +++ b/Bar.qml @@ -1,3 +1,4 @@ +pragma ComponentBehavior: Bound import QtQuick import QtQuick.Effects import QtQuick.Layouts @@ -27,7 +28,8 @@ Scope { required property var modelData property HyprlandMonitor monitor: Hyprland.monitorFor(modelData) - WlrLayershell.keyboardFocus: IpcManager.focusState + WlrLayershell.keyboardFocus: monitor.focused == true ? IpcManager.focusState : + WlrKeyboardFocus.None color: "transparent" exclusionMode: ExclusionMode.Normal exclusiveZone: barExclusionZone @@ -35,6 +37,21 @@ Scope { mask: maskRegion screen: modelData + Rectangle { + id: blurOverlay + + color: Colors.base + implicitHeight: win.modelData.height + implicitWidth: win.modelData.width + opacity: IpcManager.logoutMenuOpen == true ? 0.8 : 0 + + Behavior on opacity { + NumberAnimation { + duration: 200 + } + } + } + Region { id: maskRegion diff --git a/Services/IpcManager.qml b/Services/IpcManager.qml index cde1f1e..767db62 100644 --- a/Services/IpcManager.qml +++ b/Services/IpcManager.qml @@ -9,18 +9,21 @@ Singleton { id: root property var focusState: WlrKeyboardFocus.None + property bool logoutMenuOpen: false signal closeLogoutMenu signal logoutMenu onCloseLogoutMenu: { root.focusState = WlrKeyboardFocus.None; + root.logoutMenuOpen = false; } IpcHandler { function openLogoutMenu(): void { root.logoutMenu(); root.focusState = WlrKeyboardFocus.Exclusive; + root.logoutMenuOpen = true; } target: "root"