Optimization: Dock get loaded only on assigned screens instead of being invisble.

This commit is contained in:
LemmyCook 2025-08-25 21:42:27 -04:00
parent 18b79913bd
commit fcedb65119

View file

@ -9,17 +9,19 @@ import qs.Commons
import qs.Services import qs.Services
import qs.Widgets import qs.Widgets
Loader {
active: (Settings.data.dock.monitors.length > 0)
sourceComponent: Component {
Variants { Variants {
model: Quickshell.screens model: Quickshell.screens
PanelWindow { Loader {
id: dockWindow
required property ShellScreen modelData required property ShellScreen modelData
readonly property real scaling: ScalingService.scale(screen) readonly property real scaling: ScalingService.scale(modelData)
active: modelData ? Settings.data.dock.monitors.includes(modelData.name) : false
sourceComponent: PanelWindow {
id: dockWindow
screen: modelData screen: modelData
// Auto-hide properties - make reactive to settings changes // Auto-hide properties - make reactive to settings changes
@ -38,8 +40,6 @@ Loader {
property bool anyAppHovered: false property bool anyAppHovered: false
// Dock is only shown if explicitely toggled // Dock is only shown if explicitely toggled
visible: modelData ? Settings.data.dock.monitors.includes(modelData.name) : false
exclusionMode: ExclusionMode.Ignore exclusionMode: ExclusionMode.Ignore
anchors.bottom: true anchors.bottom: true
@ -298,4 +298,3 @@ Loader {
} }
} }
} }
}