From a38de28e72e49c7a50073db23447ba5741e51eef Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 1 May 2025 12:54:00 +1000 Subject: bar: workspaces scroll specialws Same behaviour as astal workspaces scroll Fix more undef errors Also increase by more when transparent dark layer --- config/Appearance.qml | 2 +- modules/bar/components/workspaces/ActiveIndicator.qml | 6 +++--- modules/bar/components/workspaces/Workspaces.qml | 9 +++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/config/Appearance.qml b/config/Appearance.qml index b17b125..1a2f059 100644 --- a/config/Appearance.qml +++ b/config/Appearance.qml @@ -23,7 +23,7 @@ Singleton { return c; c = Qt.rgba(c.r, c.g, c.b, layer ? transparency.layers : transparency.base); if (layer) - c.hsvValue = Math.max(0, Math.min(1, c.hslLightness + (light ? -0.2 : 0.1))); + c.hsvValue = Math.max(0, Math.min(1, c.hslLightness + (light ? -0.2 : 0.2))); return c; } diff --git a/modules/bar/components/workspaces/ActiveIndicator.qml b/modules/bar/components/workspaces/ActiveIndicator.qml index 2d33e20..5eb446e 100644 --- a/modules/bar/components/workspaces/ActiveIndicator.qml +++ b/modules/bar/components/workspaces/ActiveIndicator.qml @@ -15,9 +15,9 @@ Rectangle { required property int groupOffset property int currentIdx: Hyprland.activeWsId - 1 - groupOffset - property real leading: workspaces[currentIdx][vertical ? "y" : "x"] - property real trailing: workspaces[currentIdx][vertical ? "y" : "x"] - property real currentSize: workspaces[currentIdx].size + property real leading: (vertical ? workspaces[currentIdx]?.y : workspaces[currentIdx]?.x) ?? 0 + property real trailing: (vertical ? workspaces[currentIdx]?.y : workspaces[currentIdx]?.x) ?? 0 + property real currentSize: (workspaces[currentIdx]?.size) ?? 0 property real size: Math.abs(leading - trailing) + currentSize property real offset: Math.min(leading, trailing) diff --git a/modules/bar/components/workspaces/Workspaces.qml b/modules/bar/components/workspaces/Workspaces.qml index a94928b..35cc2b0 100644 --- a/modules/bar/components/workspaces/Workspaces.qml +++ b/modules/bar/components/workspaces/Workspaces.qml @@ -57,10 +57,11 @@ Item { onPressed: event => Hyprland.dispatch(`workspace ${layout.childAt(event.x, event.y).index + root.groupOffset + 1}`) onWheel: event => { - if (event.angleDelta.y < 0) - Hyprland.dispatch(`workspace r+1`); - else if (event.angleDelta.y > 0 && Hyprland.activeWorkspace.id > 1) - Hyprland.dispatch(`workspace r-1`); + const activeWs = Hyprland.activeClient?.workspace?.name; + if (activeWs?.startsWith("special:")) + Hyprland.dispatch(`togglespecialworkspace ${activeWs.slice(8)}`); + else if (event.angleDelta.y < 0 || Hyprland.activeWsId > 1) + Hyprland.dispatch(`workspace r${event.angleDelta.y > 0 ? "-" : "+"}1`); } } } -- cgit v1.2.3-freya