diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-02-28 13:42:48 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-02-28 13:42:48 +0100 |
commit | 5123a3eda25957e1efe4e0b280e3c25e414a2b87 (patch) | |
tree | b740964bd44e9c2920e6b39bb4faea8171406abe /.config/eww/scripts | |
parent | 4d13e0ae5991af6a4858afaa98079cb824c02cf0 (diff) |
eww, Hyprland: Fix various issues related to multimonitor
Diffstat (limited to '.config/eww/scripts')
-rwxr-xr-x | .config/eww/scripts/active-workspace-listener | 2 | ||||
-rwxr-xr-x | .config/eww/scripts/workspace-list-listener | 25 |
2 files changed, 12 insertions, 15 deletions
diff --git a/.config/eww/scripts/active-workspace-listener b/.config/eww/scripts/active-workspace-listener index 3f57ec5..3c47e87 100755 --- a/.config/eww/scripts/active-workspace-listener +++ b/.config/eww/scripts/active-workspace-listener @@ -11,4 +11,4 @@ readonly IPC=/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock hyprctl -j monitors esac done -} | jq -cr '[.[] | .activeWorkspace.name]' +} | jq -cr '[.[] | .activeWorkspace.id % 10]' diff --git a/.config/eww/scripts/workspace-list-listener b/.config/eww/scripts/workspace-list-listener index 9ad35ca..5ab5c19 100755 --- a/.config/eww/scripts/workspace-list-listener +++ b/.config/eww/scripts/workspace-list-listener @@ -2,20 +2,17 @@ readonly IPC=/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock -ws="`hyprctl -j workspaces | jq -r 'sort_by(.id) | .[] | .name'`" -jo -a $ws +hyptctl -j workspaces | jq -cr ' + [.[].id] + | group_by(. / 10 | floor) + | [.[] | map(. % 10)] +' socat -u UNIX-CONNECT:"$IPC" - \ | stdbuf -oL grep -E '^(create|destroy)workspace>>' \ - | while IFS='>>' read -r e _ n - do - case "$e" in - c*) - ws="`printf '%s\n%s\n' "$ws" $n | sort -n`" - ;; - d*) - ws="`echo "$ws" | grep -v "^$n$"`" - ;; - esac - jo -a $ws - done + | while read -r _; do hyprctl -j workspaces; done \ + | jq -cr ' + [.[].id] + | group_by(. / 10 | floor) + | [.[] | map(. % 10) | sort_by(.)] + ' |