#!/usr/bin/env bash workspaces() { hyprctl workspaces -j | jaq -c 'map({key: .id | tostring, value: .windows}) | from_entries | . as $windows | [range(1;11) | {id: tostring, windows: $windows[tostring] // 0, previous: $windows[.-1|tostring] // 0, next: $windows[.+1|tostring] // 0}]' } workspaces socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | while read -r line; do workspaces done