1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-08-05 21:18:30 -04:00

vpn: fix tls openvpn connection types

related #1344
This commit is contained in:
bbedward
2026-07-05 01:35:01 -04:00
parent 2b12292895
commit eedba0e8c9
7 changed files with 105 additions and 38 deletions
+9 -6
View File
@@ -341,10 +341,11 @@ Singleton {
const borderSize = (typeof SettingsData !== "undefined" && SettingsData.hyprlandLayoutBorderSize >= 0) ? SettingsData.hyprlandLayoutBorderSize : defaultBorderSize;
const resizeOnBorder = (typeof SettingsData !== "undefined" && SettingsData.hyprlandResizeOnBorder) ? true : false;
const frameEnabled = typeof SettingsData !== "undefined" && SettingsData.frameEnabled;
const frameConnectedMode = frameEnabled && SettingsData.frameMode === "connected";
// Hyprland `xray = false` is still early-development; unset already samples real content, so only force xray=true
// Connected frame mode has no separate bar/frame surface to target
const barFrameTargetNamespace = !frameEnabled ? (SettingsData.standaloneBarXrayAvailable ? "dms:bar" : null) : (frameConnectedMode ? null : "dms:frame");
// dms:frame only in separate mode — connected-mode frame blur overlaps windows via popouts/arcs
const xrayNamespaces = ["dms:bar"];
if (frameEnabled && SettingsData.frameMode !== "connected")
xrayNamespaces.push("dms:frame");
const generalLines = [];
if (manageGaps)
@@ -371,13 +372,15 @@ hl.layer_rule({
})
`;
}
if (layoutBarXrayEnabled && barFrameTargetNamespace) {
content += `
if (layoutBarXrayEnabled) {
for (const ns of xrayNamespaces) {
content += `
hl.layer_rule({
match = { namespace = "^${barFrameTargetNamespace}$" },
match = { namespace = "^${ns}$" },
xray = true,
})
`;
}
}
// Marker persists the preference even while the rule has no target
if (!layoutBarXrayEnabled) {
+6 -7
View File
@@ -1189,19 +1189,18 @@ Singleton {
const gaps = gapsOverride >= 0 ? gapsOverride : defaultGaps;
const borderSize = (typeof SettingsData !== "undefined" && SettingsData.niriLayoutBorderSize >= 0) ? SettingsData.niriLayoutBorderSize : defaultBorderSize;
const frameEnabled = typeof SettingsData !== "undefined" && SettingsData.frameEnabled;
const frameConnectedMode = frameEnabled && SettingsData.frameMode === "connected";
// Connected frame mode has no separate bar/frame surface to target
const barFrameTargetNamespace = !frameEnabled ? (SettingsData.standaloneBarXrayAvailable ? "dms:bar" : null) : (frameConnectedMode ? null : "dms:frame");
// dms:frame only in separate mode — connected-mode frame blur overlaps windows via popouts/arcs
const excludeNamespaces = ["dms:bar"];
if (frameEnabled && SettingsData.frameMode !== "connected")
excludeNamespaces.push("dms:frame");
// Xray is niri's default blur, so only the off state needs a rule.
// A single rule excluding the bar/frame keeps its blur on the wallpaper
// without a second namespace-matched override rule.
let xrayRules = "";
if (!layoutXrayEnabled) {
const excludeLine = (layoutBarXrayEnabled && barFrameTargetNamespace) ? `\n exclude namespace="^${barFrameTargetNamespace}$"` : "";
const excludeLines = layoutBarXrayEnabled ? excludeNamespaces.map(ns => `\n exclude namespace="^${ns}$"`).join("") : "";
xrayRules += `
layer-rule {${excludeLine}
layer-rule {${excludeLines}
background-effect {
xray false
}