eww: Fix workspaces monitor filter

This commit is contained in:
2024-05-16 09:56:50 +02:00
parent 6540833edc
commit cb7c1dc23c
3 changed files with 16 additions and 16 deletions

View File

@ -26,7 +26,7 @@ window {
.workspace {
font-size: 18px;
font-weight: 400;
border: dashed $highlight1 1px;
border: dashed $highlight1 2px;
background: $lowlight1;
border-radius: 30px;
padding-top: 3px;

View File

@ -51,23 +51,23 @@
:class "workspaces"
:space-evenly: false
; can't use a for loop here because that breaks css animations
(workspace :n 1)
(workspace :n 2)
(workspace :n 3)
(workspace :n 4)
(workspace :n 5)
(workspace :n 6)
(workspace :n 7)
(workspace :n 8)
(workspace :n 9)
(workspace :n 10)
(workspace :n 11)
(workspace :n 12)
(workspace :monitor monitor :n 1)
(workspace :monitor monitor :n 2)
(workspace :monitor monitor :n 3)
(workspace :monitor monitor :n 4)
(workspace :monitor monitor :n 5)
(workspace :monitor monitor :n 6)
(workspace :monitor monitor :n 7)
(workspace :monitor monitor :n 8)
(workspace :monitor monitor :n 9)
(workspace :monitor monitor :n 10)
(workspace :monitor monitor :n 11)
(workspace :monitor monitor :n 12)
))
(defwidget workspace [n]
(defwidget workspace [monitor n]
(button :visible {jq(workspaces, '.["${n}"] != null')}
:class 'workspace ${workspaces[n].class}'
:class 'workspace ${workspaces[n].active && monitor == workspaces[n].monitor ? "active" : ""}'
(label :text n))
)

View File

@ -5,6 +5,6 @@ let active = (hyprctl activeworkspace -j | from json | get id)
hyprctl workspaces -j |
from json |
sort-by id |
each {|w| {$w.id: {monitor: $w.monitorID class: (if ($w.id == $active) {"active"} else {""}) }}} |
each {|w| {$w.id: {monitor: $w.monitorID active: ($w.id == $active) }}} |
reduce {|a, b| $a | merge $b } |
to json