diff --git a/quickshell/Modules/DankBar/DankBarWindow.qml b/quickshell/Modules/DankBar/DankBarWindow.qml index 171bd163..cf6089cb 100644 --- a/quickshell/Modules/DankBar/DankBarWindow.qml +++ b/quickshell/Modules/DankBar/DankBarWindow.qml @@ -317,7 +317,15 @@ PanelWindow { property string screenName: modelData.name property bool hasMaximizedToplevel: false - property bool hasFullscreenToplevel: false + readonly property bool hasFullscreenToplevel: { + if (!(barConfig?.fullscreenDetection ?? true)) + return false; + CompositorService.sortedToplevels; + ToplevelManager.activeToplevel; + if (CompositorService.isNiri) + NiriService.allWorkspaces; + return CompositorService.hasFullscreenToplevelOnScreen(screenName); + } property bool shouldHideForWindows: false function _updateHasMaximizedToplevel() { @@ -340,14 +348,6 @@ PanelWindow { hasMaximizedToplevel = false; } - function _updateHasFullscreenToplevel() { - if (!(barConfig?.fullscreenDetection ?? true)) { - hasFullscreenToplevel = false; - return; - } - hasFullscreenToplevel = CompositorService.hasFullscreenToplevelOnScreen(screenName); - } - function _updateShouldHideForWindows() { if (!(barConfig?.showOnWindowsOpen ?? false)) { shouldHideForWindows = false; @@ -546,7 +546,6 @@ PanelWindow { updateGpuTempConfig(); _updateBackgroundAlpha(); _updateHasMaximizedToplevel(); - _updateHasFullscreenToplevel(); _updateShouldHideForWindows(); } @@ -589,7 +588,6 @@ PanelWindow { barWindow.updateGpuTempConfig(); barWindow._updateBackgroundAlpha(); barWindow._updateHasMaximizedToplevel(); - barWindow._updateHasFullscreenToplevel(); barWindow._updateShouldHideForWindows(); } @@ -607,7 +605,6 @@ PanelWindow { target: CompositorService function onToplevelsChanged() { barWindow._updateHasMaximizedToplevel(); - barWindow._updateHasFullscreenToplevel(); barWindow._updateShouldHideForWindows(); } } @@ -616,18 +613,10 @@ PanelWindow { target: NiriService function onAllWorkspacesChanged() { barWindow._updateHasMaximizedToplevel(); - barWindow._updateHasFullscreenToplevel(); barWindow._updateShouldHideForWindows(); } } - Connections { - target: ToplevelManager - function onActiveToplevelChanged() { - barWindow._updateHasFullscreenToplevel(); - } - } - Connections { function onNvidiaGpuTempEnabledChanged() { barWindow.updateGpuTempConfig(); diff --git a/quickshell/Services/CompositorService.qml b/quickshell/Services/CompositorService.qml index a9f43e23..6017ab7b 100644 --- a/quickshell/Services/CompositorService.qml +++ b/quickshell/Services/CompositorService.qml @@ -422,8 +422,7 @@ Singleton { const filtered = filterCurrentWorkspace(sortedToplevels, screenName); for (let i = 0; i < filtered.length; i++) { - const toplevel = filtered[i]; - if (toplevel?.fullscreen && toplevel?.activated) + if (filtered[i]?.fullscreen) return true; } return false;