21 lines
527 B
Bash
Executable File
21 lines
527 B
Bash
Executable File
|
|
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
handle_event() {
|
|
case $1 in
|
|
focusedmon*) active_workspace;;
|
|
workspace*) active_workspace;;
|
|
esac
|
|
}
|
|
|
|
active_workspace() {
|
|
hyprctl activeworkspace -j | jq --compact-output --monochrome-output '{ id, name, monitor, has_windows: (.lastwindowtitle != "") }'
|
|
}
|
|
|
|
# Run it once before any events come in.
|
|
active_workspace
|
|
|
|
# Then listen for events
|
|
socat -U - "UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock" | while read -r event; do handle_event "$event"; done |