36 lines
1.0 KiB
Bash
Executable File
36 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
: "${XDG_RUNTIME_DIR:?Environment variable XDG_RUNTIME_DIR not set}"
|
|
: "${HYPRLAND_INSTANCE_SIGNATURE:?Environment variable HYPRLAND_INSTANCE_SIGNATURE not set}"
|
|
|
|
handle() {
|
|
case "$1" in
|
|
workspace* | focusedmon* | openwindow* | closewindow* | movewindow* | activewindow*)
|
|
update_active_clients
|
|
;;
|
|
esac
|
|
}
|
|
|
|
update_active_clients() {
|
|
# active_clients=$(hyprctl activeworkspace -j | jq -r .windows)
|
|
# echo "$active_clients"
|
|
clients=$(hyprctl clients -j | grep address | awk '{print $2}' | sed "s/\"//"| cut -c -14)
|
|
active_window=$(hyprctl -j activewindow | jq -r '.address')
|
|
|
|
|
|
while IFS= read -r line; do
|
|
hyprctl dispatch setprop address:$line bordersize 1
|
|
done <<< "$clients"
|
|
|
|
# echo $active_window
|
|
hyprctl dispatch setprop address:$active_window bordersize 2
|
|
}
|
|
|
|
# Initial update
|
|
update_active_clients
|
|
|
|
# Listen to events and handle them
|
|
socat -U - UNIX-CONNECT:"$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock" | while IFS= read -r line; do
|
|
handle "$line"
|
|
done
|