#!/bin/env sh # Modified from: https://wiki.hyprland.org/Useful-Utilities/Status-Bars/#eww spaces (){ ACTIVE_ID="$(hyprctl activeworkspace -j | jq -Mc '.id')" WORKSPACES="$(hyprctl workspaces -j | jq -Mc 'sort_by(.id)')" FIRSTS="$(echo "$WORKSPACES" | jq -Mc 'group_by(.monitor) | map(.[0].id)')" echo "$WORKSPACES" | jq -Mc 'map(. as $ws | {id, name, monitor, active: (.id == '"$ACTIVE_ID"'), first: any('"$FIRSTS"' | .[] == $ws.id)})' } spaces socat -u UNIX-CONNECT:"$XDG_RUNTIME_DIR"/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | while read -r _line; do spaces done