summaryrefslogtreecommitdiff
path: root/.config/eww/scripts/workspace-list-listener
blob: 9ad35ca671bf6ed70d832c7487748e23bea9f49d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh

readonly IPC=/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock

ws="`hyprctl -j workspaces | jq -r 'sort_by(.id) | .[] | .name'`"
jo -a $ws

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