1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-08-07 05:58:28 -04:00

feat(Xray): Automatic Xray blur effects for Niri & Hyprland layouts

- Utilizes include layout within niri configs & hyprland's layout layer rules for lua configs
This commit is contained in:
purian23
2026-07-01 16:15:02 -04:00
parent 38a03a4485
commit 7964b66827
7 changed files with 239 additions and 1 deletions
+32 -1
View File
@@ -1087,6 +1087,37 @@ Singleton {
const cornerRadius = (typeof SettingsData !== "undefined" && SettingsData.niriLayoutRadiusOverride >= 0) ? SettingsData.niriLayoutRadiusOverride : defaultRadius;
const gaps = (typeof SettingsData !== "undefined" && SettingsData.niriLayoutGapsOverride >= 0) ? SettingsData.niriLayoutGapsOverride : defaultGaps;
const borderSize = (typeof SettingsData !== "undefined" && SettingsData.niriLayoutBorderSize >= 0) ? SettingsData.niriLayoutBorderSize : defaultBorderSize;
const xrayEnabled = typeof SettingsData !== "undefined" && SettingsData.niriLayoutXrayEnabled;
const barFrameXrayEnabled = typeof SettingsData === "undefined" || SettingsData.niriLayoutBarXrayEnabled;
const frameEnabled = typeof SettingsData !== "undefined" && SettingsData.frameEnabled;
const frameConnectedMode = frameEnabled && SettingsData.frameMode === "connected";
// The one wallpaper-flush surface to force xray=true on: bar (Frame off) or Frame's Separate-mode border
const barFrameTargetNamespace = !frameEnabled ? "dms:bar" : (frameConnectedMode ? null : "dms:frame");
let xrayRules = "";
if (!xrayEnabled) {
let excludes = "";
if (frameEnabled)
excludes += `
exclude namespace="^dms:bar$"`;
xrayRules += `
layer-rule {
match namespace=".*"` + excludes + `
background-effect {
xray false
}
}`;
}
if (barFrameXrayEnabled && barFrameTargetNamespace) {
xrayRules += `
layer-rule {
match namespace="^${barFrameTargetNamespace}$"
background-effect {
xray true
}
}`;
}
const dmsWarning = `// ! DO NOT EDIT !
// ! AUTO-GENERATED BY DMS !
@@ -1111,7 +1142,7 @@ Singleton {
clip-to-geometry true
tiled-state true
draw-border-with-background false
}`;
}` + xrayRules;
const alttabContent = dmsWarning + `recent-windows {
highlight {