From 3d32befa5ba03ce85f76f0a6e9046b64df2f8871 Mon Sep 17 00:00:00 2001 From: rope Date: Thu, 11 Jun 2026 20:51:46 +0100 Subject: [PATCH] quickshell: workspace dots with accent pill, nudged inside the frame Co-Authored-By: Claude Fable 5 --- settings/quickshell.nix | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/settings/quickshell.nix b/settings/quickshell.nix index aa22396..1e070dc 100644 --- a/settings/quickshell.nix +++ b/settings/quickshell.nix @@ -602,42 +602,44 @@ in } } - // Left — workspaces + // Left — workspace dots: accent pill for the focused + // workspace, dim dots otherwise. All colours from Theme + // (stylix); the pill matches hyprland's active border accent. Row { anchors.left: parent.left - anchors.leftMargin: 6 + anchors.leftMargin: Theme.frameWidth + 8 anchors.verticalCenter: barBgRect.verticalCenter - spacing: 0 + spacing: 4 Repeater { model: Hyprland.workspaces Item { + id: wsItem required property var modelData visible: modelData.id > 0 - width: visible ? 28 : 0 + width: visible ? dot.width + 6 : 0 height: 30 - Text { - anchors.centerIn: parent - text: modelData.name - color: modelData.focused ? Theme.base05 : Theme.base03 - font.family: Theme.fontFamily - font.pixelSize: 13 - } - Rectangle { - anchors.bottom: parent.bottom - anchors.horizontalCenter: parent.horizontalCenter - width: parent.width - 8 - height: 2 - color: Theme.base05 - visible: modelData.focused + id: dot + anchors.centerIn: parent + width: wsItem.modelData.focused ? 18 : 6 + height: 6 + radius: 3 + color: wsItem.modelData.focused ? Theme.base0D + : wsMa.containsMouse ? Theme.base04 : Theme.base03 + Behavior on width { + NumberAnimation { duration: 200; easing.type: Easing.OutExpo } + } + Behavior on color { ColorAnimation { duration: 120 } } } MouseArea { + id: wsMa anchors.fill: parent - onClicked: modelData.activate() + hoverEnabled: true + onClicked: wsItem.modelData.activate() } } }