pragma ComponentBehavior: Bound import QtQuick import Quickshell import Quickshell.Wayland import qs.Common Scope { id: root required property ShellScreen screen readonly property string barEdge: SettingsData.getActiveBarEdgeForScreen(screen) // One thin invisible PanelWindow per edge. // Skips the edge where the bar already provides its own exclusiveZone. Loader { active: root.barEdge !== "top" sourceComponent: EdgeExclusion { screen: root.screen anchorTop: true anchorLeft: true anchorRight: true } } Loader { active: root.barEdge !== "bottom" sourceComponent: EdgeExclusion { screen: root.screen anchorBottom: true anchorLeft: true anchorRight: true } } Loader { active: root.barEdge !== "left" sourceComponent: EdgeExclusion { screen: root.screen anchorLeft: true anchorTop: true anchorBottom: true } } Loader { active: root.barEdge !== "right" sourceComponent: EdgeExclusion { screen: root.screen anchorRight: true anchorTop: true anchorBottom: true } } component EdgeExclusion: PanelWindow { required property ShellScreen screen property bool anchorTop: false property bool anchorBottom: false property bool anchorLeft: false property bool anchorRight: false WlrLayershell.namespace: "dms:frame-exclusion" WlrLayershell.layer: WlrLayer.Top exclusiveZone: SettingsData.frameThickness color: "transparent" mask: Region {} implicitWidth: 1 implicitHeight: 1 anchors { top: anchorTop bottom: anchorBottom left: anchorLeft right: anchorRight } } }