34 lines
716 B
Bash
Executable file
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
|
|
|