desktop-utils/backup/eww/scripts/monitors.sh
2024-03-13 19:01:27 +01:00

34 lines
716 B
Bash
Executable file

#!/bin/bash
declare -A id
declare -A horizontal
declare -A vertical
declare -A scale
generate() {
while read -r k h v s f; do
id[$k]="$k"
horizontal[$k]="$h"
vertical[$k]="$v"
scale[$k]="$s"
done < <(hyprctl monitors -j | jq -r '.[]|"\(.id) \(.width) \(.height) \(.scale)"')
echo -n '['
for ((i = 0; i < ${#id[@]}; i++)); do
echo -n ''$([ $i -eq 0 ] || echo ,)'{"id":"'$i'","width":"'${horizontal[$i]}'","height":"'${vertical[$i]}'",".scale":"'${scale[$i]}'"}'
done
echo ']'
}
generate
socat -u UNIX-CONNECT:/tmp/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | while read -r line; do
if [[ ${line%>>*} == "monitor"* ]]; then
generate
fi
done