bar: fix ws click switching

This commit is contained in:
end-4
2025-05-15 06:35:47 +02:00
parent c1a8aca3fb
commit bddbfbcc45
@@ -172,17 +172,17 @@ Item {
Button { Button {
id: button id: button
property int workspaceValue: workspaceGroup * ConfigOptions.bar.workspaces.shown + index + 1
Layout.fillHeight: true Layout.fillHeight: true
onPressed: Hyprland.dispatch(`workspace ${index+1}`) onPressed: Hyprland.dispatch(`workspace ${workspaceValue}`)
width: workspaceButtonWidth width: workspaceButtonWidth
background: Item { background: Item {
id: workspaceButtonBackground id: workspaceButtonBackground
implicitWidth: workspaceButtonWidth implicitWidth: workspaceButtonWidth
implicitHeight: workspaceButtonWidth implicitHeight: workspaceButtonWidth
property int workspaceValue: workspaceGroup * ConfigOptions.bar.workspaces.shown + index + 1
property var biggestWindow: { property var biggestWindow: {
const windowsInThisWorkspace = HyprlandData.windowList.filter(w => w.workspace.id == workspaceButtonBackground.workspaceValue) const windowsInThisWorkspace = HyprlandData.windowList.filter(w => w.workspace.id == button.workspaceValue)
return windowsInThisWorkspace.reduce((maxWin, win) => { return windowsInThisWorkspace.reduce((maxWin, win) => {
const maxArea = (maxWin?.size?.[0] ?? 0) * (maxWin?.size?.[1] ?? 0) const maxArea = (maxWin?.size?.[0] ?? 0) * (maxWin?.size?.[1] ?? 0)
const winArea = (win?.size?.[0] ?? 0) * (win?.size?.[1] ?? 0) const winArea = (win?.size?.[0] ?? 0) * (win?.size?.[1] ?? 0)
@@ -199,9 +199,9 @@ Item {
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
font.pixelSize: Appearance.font.pixelSize.small - ((text.length - 1) * (text !== "10") * 2) font.pixelSize: Appearance.font.pixelSize.small - ((text.length - 1) * (text !== "10") * 2)
text: `${workspaceButtonBackground.workspaceValue}` text: `${button.workspaceValue}`
elide: Text.ElideRight elide: Text.ElideRight
color: (monitor.activeWorkspace?.id == workspaceButtonBackground.workspaceValue) ? color: (monitor.activeWorkspace?.id == button.workspaceValue) ?
Appearance.m3colors.m3onPrimary : Appearance.m3colors.m3onPrimary :
(workspaceOccupied[index] ? Appearance.colors.colOnLayer1 : (workspaceOccupied[index] ? Appearance.colors.colOnLayer1 :
Appearance.colors.colOnLayer1Inactive) Appearance.colors.colOnLayer1Inactive)