1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 13:32:50 -05:00

workspaces: fix occupied color overridworkspacs: fix occupied color

overridee
This commit is contained in:
bbedward
2026-01-18 22:44:54 -05:00
parent ac68451cdf
commit cc30e2a9e4
4 changed files with 21 additions and 16 deletions

View File

@@ -206,7 +206,7 @@ Singleton {
property bool reverseScrolling: false property bool reverseScrolling: false
property bool dwlShowAllTags: false property bool dwlShowAllTags: false
property string workspaceColorMode: "default" property string workspaceColorMode: "default"
property string workspaceOccupiedColorMode: "default" property string workspaceOccupiedColorMode: "none"
property string workspaceUnfocusedColorMode: "default" property string workspaceUnfocusedColorMode: "default"
property string workspaceUrgentColorMode: "default" property string workspaceUrgentColorMode: "default"
property bool workspaceFocusedBorderEnabled: false property bool workspaceFocusedBorderEnabled: false

View File

@@ -100,7 +100,7 @@ var SPEC = {
reverseScrolling: { def: false }, reverseScrolling: { def: false },
dwlShowAllTags: { def: false }, dwlShowAllTags: { def: false },
workspaceColorMode: { def: "default" }, workspaceColorMode: { def: "default" },
workspaceOccupiedColorMode: { def: "default" }, workspaceOccupiedColorMode: { def: "none" },
workspaceUnfocusedColorMode: { def: "default" }, workspaceUnfocusedColorMode: { def: "default" },
workspaceUrgentColorMode: { def: "default" }, workspaceUrgentColorMode: { def: "default" },
workspaceFocusedBorderEnabled: { def: false }, workspaceFocusedBorderEnabled: { def: false },

View File

@@ -757,12 +757,13 @@ Item {
} }
property bool isOccupied: { property bool isOccupied: {
if (CompositorService.isHyprland) if (CompositorService.isHyprland)
return Array.from(Hyprland.toplevels?.values || []) return Array.from(Hyprland.toplevels?.values || []).some(tl => tl.workspace?.id === modelData?.id);
.some(tl => tl.workspace?.id === modelData?.id);
if (CompositorService.isDwl) if (CompositorService.isDwl)
return modelData.clients > 0; return modelData.clients > 0;
if (CompositorService.isNiri) if (CompositorService.isNiri) {
return NiriService.windows?.some(win => win.workspace_id === modelData?.id) ?? false; const workspace = NiriService.allWorkspaces.find(ws => ws.idx + 1 === modelData && ws.output === root.effectiveScreenName);
return workspace ? (NiriService.windows?.some(win => win.workspace_id === workspace.id) ?? false) : false;
}
return false; return false;
} }
property bool isPlaceholder: { property bool isPlaceholder: {
@@ -848,16 +849,18 @@ Item {
readonly property color occupiedColor: { readonly property color occupiedColor: {
switch (SettingsData.workspaceOccupiedColorMode) { switch (SettingsData.workspaceOccupiedColorMode) {
case "sec":
return Theme.secondary;
case "s": case "s":
return Theme.surface; return Theme.surface;
case "sc": case "sc":
return Theme.surfaceContainer; return Theme.surfaceContainer;
case "sch": case "sch":
return Theme.surfaceContainerHigh; return Theme.surfaceContainerHigh;
case "none": case "schh":
return unfocusedColor; return Theme.surfaceContainerHighest;
default: default:
return Theme.secondary; return unfocusedColor;
} }
} }

View File

@@ -201,7 +201,7 @@ Item {
SettingsButtonGroupRow { SettingsButtonGroupRow {
text: I18n.tr("Occupied Color") text: I18n.tr("Occupied Color")
model: ["sec", "s", "sc", "sch", "none"] model: ["none", "sec", "s", "sc", "sch", "schh"]
visible: CompositorService.isNiri || CompositorService.isHyprland || CompositorService.isDwl visible: CompositorService.isNiri || CompositorService.isHyprland || CompositorService.isDwl
buttonHeight: 22 buttonHeight: 22
minButtonWidth: 36 minButtonWidth: 36
@@ -210,15 +210,17 @@ Item {
textSize: Theme.fontSizeSmall - 1 textSize: Theme.fontSizeSmall - 1
spacing: 1 spacing: 1
currentIndex: { currentIndex: {
switch (SettingsData.wokspaceColorMode) { switch (SettingsData.workspaceOccupiedColorMode) {
case "s": case "sec":
return 1; return 1;
case "sc": case "s":
return 2; return 2;
case "sch": case "sc":
return 3; return 3;
case "none": case "sch":
return 4; return 4;
case "schh":
return 5;
default: default:
return 0; return 0;
} }
@@ -226,7 +228,7 @@ Item {
onSelectionChanged: (index, selected) => { onSelectionChanged: (index, selected) => {
if (!selected) if (!selected)
return; return;
const modes = ["default", "s", "sc", "sch", "none"]; const modes = ["none", "sec", "s", "sc", "sch", "schh"];
SettingsData.set("workspaceOccupiedColorMode", modes[index]); SettingsData.set("workspaceOccupiedColorMode", modes[index]);
} }
} }