From d54df2792ad8536ea2e4135fba3bb3558e281fe1 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 1 May 2025 00:56:55 +1000 Subject: feat: bar panel preset Make presets more flexible Fix workspaces when show windows disabled Make rounded option for workspaces --- modules/bar/components/workspaces/ActiveIndicator.qml | 3 +-- modules/bar/components/workspaces/OccupiedBg.qml | 2 +- modules/bar/components/workspaces/Workspace.qml | 9 +++++---- modules/bar/components/workspaces/Workspaces.qml | 3 ++- 4 files changed, 9 insertions(+), 8 deletions(-) (limited to 'modules/bar/components/workspaces') diff --git a/modules/bar/components/workspaces/ActiveIndicator.qml b/modules/bar/components/workspaces/ActiveIndicator.qml index 26ca673..2d33e20 100644 --- a/modules/bar/components/workspaces/ActiveIndicator.qml +++ b/modules/bar/components/workspaces/ActiveIndicator.qml @@ -26,8 +26,7 @@ Rectangle { y: vertical ? offset + 1 : 1 width: (vertical ? BarConfig.sizes.innerHeight : size) - 2 height: (vertical ? size : BarConfig.sizes.innerHeight) - 2 - color: Appearance.colours.mauve - radius: Appearance.rounding.full + radius: BarConfig.workspaces.rounded ? Appearance.rounding.full : 0 anchors.horizontalCenter: vertical ? parent.horizontalCenter : undefined anchors.verticalCenter: vertical ? undefined : parent.verticalCenter diff --git a/modules/bar/components/workspaces/OccupiedBg.qml b/modules/bar/components/workspaces/OccupiedBg.qml index f9de104..70aee84 100644 --- a/modules/bar/components/workspaces/OccupiedBg.qml +++ b/modules/bar/components/workspaces/OccupiedBg.qml @@ -54,7 +54,7 @@ Item { property Workspace end: root.workspaces[modelData.end - 1] ?? null color: Appearance.alpha(Appearance.colours.m3surfaceContainerHigh, true) - radius: Appearance.rounding.full + radius: BarConfig.workspaces.rounded ? Appearance.rounding.full : 0 x: start?.x ?? 0 y: start?.y ?? 0 diff --git a/modules/bar/components/workspaces/Workspace.qml b/modules/bar/components/workspaces/Workspace.qml index 2e30169..bd28f7a 100644 --- a/modules/bar/components/workspaces/Workspace.qml +++ b/modules/bar/components/workspaces/Workspace.qml @@ -16,13 +16,14 @@ Item { readonly property bool isWorkspace: true // Flag for finding workspace children // Unanimated prop for others to use as reference - readonly property real size: childrenRect[vertical ? "height" : "width"] + (isOccupied ? Appearance.padding.normal : 0) + readonly property real size: childrenRect[vertical ? "height" : "width"] + (shouldPad ? Appearance.padding.normal : 0) readonly property int ws: groupOffset + index + 1 readonly property bool isOccupied: occupied[ws] ?? false + readonly property bool shouldPad: isOccupied && BarConfig.workspaces.showWindows - Layout.preferredWidth: childrenRect.width + (isOccupied && !vertical ? Appearance.padding.normal : 0) - Layout.preferredHeight: childrenRect.height + (isOccupied && vertical ? Appearance.padding.normal : 0) + Layout.preferredWidth: childrenRect.width + (shouldPad && !vertical ? Appearance.padding.normal : 0) + Layout.preferredHeight: childrenRect.height + (shouldPad && vertical ? Appearance.padding.normal : 0) StyledText { id: indicator @@ -49,7 +50,7 @@ Item { Repeater { model: ScriptModel { - values: Hyprland.clients.filter(c => c.workspace?.id === root.ws) + values: BarConfig.workspaces.showWindows ? Hyprland.clients.filter(c => c.workspace?.id === root.ws) : [] } MaterialIcon { diff --git a/modules/bar/components/workspaces/Workspaces.qml b/modules/bar/components/workspaces/Workspaces.qml index ea2cad9..a94928b 100644 --- a/modules/bar/components/workspaces/Workspaces.qml +++ b/modules/bar/components/workspaces/Workspaces.qml @@ -7,7 +7,7 @@ Item { id: root property alias vertical: layout.vertical - readonly property color colour: Appearance.colours.mauve + property color colour: Appearance.colours.mauve readonly property list workspaces: layout.children.filter(c => c.isWorkspace) readonly property var occupied: Hyprland.workspaces.values.reduce((acc, curr) => { @@ -43,6 +43,7 @@ Item { } ActiveIndicator { + color: root.colour vertical: root.vertical workspaces: root.workspaces mask: layout -- cgit v1.2.3-freya