1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-06-08 04:09:15 -04:00

control center: improve drag handling

misc: fix layer shell enum usage
This commit is contained in:
bbedward
2026-06-01 13:13:17 -04:00
parent 0a668df138
commit 8c20f448ed
20 changed files with 634 additions and 208 deletions
+5 -14
View File
@@ -92,20 +92,11 @@ PanelWindow {
}
}
WlrLayershell.layer: {
switch (Quickshell.env("DMS_OSD_LAYER")) {
case "bottom":
log.warn("'bottom' layer is not valid for OSDs. Defaulting to 'overlay' layer.");
return WlrLayershell.Overlay;
case "background":
log.warn("'background' layer is not valid for OSDs. Defaulting to 'overlay' layer.");
return WlrLayershell.Overlay;
case "top":
return WlrLayershell.Top;
default:
return WlrLayershell.Overlay;
}
}
WlrLayershell.layer: LayerShell.fromEnv("DMS_OSD_LAYER", WlrLayer.Overlay, {
"allow": ["top", "overlay"],
"invalidLayer": WlrLayer.Overlay,
"label": "OSDs"
})
WlrLayershell.exclusiveZone: -1
WlrLayershell.keyboardFocus: WlrKeyboardFocus.None
+1 -11
View File
@@ -1,5 +1,4 @@
import QtQuick
import Quickshell
import qs.Common
import qs.Services
@@ -170,16 +169,7 @@ Item {
}
function _triggerBarUsesOverlayLayer(targetScreen, barConfig) {
switch (Quickshell.env("DMS_DANKBAR_LAYER")) {
case "overlay":
return true;
case "bottom":
case "background":
case "top":
return false;
default:
return (barConfig?.useOverlayLayer ?? false) || CompositorService.framePeerSurfacesUseOverlayForScreen(targetScreen);
}
return LayerShell.envUsesOverlay("DMS_DANKBAR_LAYER", (barConfig?.useOverlayLayer ?? false) || CompositorService.framePeerSurfacesUseOverlayForScreen(targetScreen));
}
function setTriggerPosition(x, y, width, section, targetScreen, barPosition, barThickness, barSpacing, barConfig) {
+5 -14
View File
@@ -57,20 +57,11 @@ Item {
property var screen: null
// Connected resize uses one full-screen surface; body-sized regions are masks.
readonly property bool useBackgroundWindow: false
readonly property var effectivePopoutLayer: {
switch (Quickshell.env("DMS_POPOUT_LAYER")) {
case "bottom":
log.warn("'bottom' layer is not valid for popouts. Defaulting to 'top' layer.");
return WlrLayershell.Top;
case "background":
log.warn("'background' layer is not valid for popouts. Defaulting to 'top' layer.");
return WlrLayershell.Top;
case "overlay":
return WlrLayershell.Overlay;
default:
return root.triggerUsesOverlayLayer ? WlrLayershell.Overlay : WlrLayershell.Top;
}
}
readonly property var effectivePopoutLayer: LayerShell.fromEnv("DMS_POPOUT_LAYER", root.triggerUsesOverlayLayer ? WlrLayer.Overlay : WlrLayer.Top, {
"allow": ["top", "overlay"],
"invalidLayer": WlrLayer.Top,
"label": "popouts"
})
readonly property real effectiveBarThickness: {
if (root.usesConnectedSurfaceChrome)
+5 -14
View File
@@ -65,20 +65,11 @@ Item {
readonly property bool backgroundDismissWindowRequired: backgroundInteractive
readonly property bool backgroundWindowRequired: backgroundDismissWindowRequired || root.overlayContent !== null
readonly property bool _fullHeight: fullHeightSurface
readonly property var effectivePopoutLayer: {
switch (Quickshell.env("DMS_POPOUT_LAYER")) {
case "bottom":
root.log.warn("'bottom' layer is not valid for popouts. Defaulting to 'top' layer.");
return WlrLayershell.Top;
case "background":
root.log.warn("'background' layer is not valid for popouts. Defaulting to 'top' layer.");
return WlrLayershell.Top;
case "overlay":
return WlrLayershell.Overlay;
default:
return root.triggerUsesOverlayLayer ? WlrLayershell.Overlay : WlrLayershell.Top;
}
}
readonly property var effectivePopoutLayer: LayerShell.fromEnv("DMS_POPOUT_LAYER", root.triggerUsesOverlayLayer ? WlrLayer.Overlay : WlrLayer.Top, {
"allow": ["top", "overlay"],
"invalidLayer": WlrLayer.Top,
"label": "popouts"
})
function _frameEdgeInset(side) {
if (!screen)