32 lines
815 B
Bash
Executable file
32 lines
815 B
Bash
Executable file
#!/bin/sh
|
|
make=$(swaymsg -t get_outputs | jq -r '.[] | select(.focused==true) | .make')
|
|
model=$(swaymsg -t get_outputs | jq -r '.[] | select(.focused==true) | .model')
|
|
name=$(swaymsg -t get_outputs | jq -r '.[] | select(.focused==true) | .name')
|
|
current_screen="$make $model ($name)"
|
|
|
|
increment=0.1
|
|
|
|
current_scale() {
|
|
swaymsg -t get_outputs | jq -r '.[] | select(.focused==true) | .scale'
|
|
}
|
|
|
|
next_scale=$(current_scale)
|
|
|
|
scale() {
|
|
[ -x "$(command -v way-displays)" ] && way-displays -s SCALE "$current_screen" $next_scale && way-displays -w || swaymsg output "\"$name\"" scale "$next_scale"
|
|
}
|
|
|
|
case $1'' in
|
|
'')
|
|
current_scale
|
|
;;
|
|
'up')
|
|
next_scale=$(echo "$(current_scale) + $increment" | bc)
|
|
scale
|
|
;;
|
|
'down')
|
|
next_scale=$(echo "$(current_scale) - $increment" | bc)
|
|
scale
|
|
;;
|
|
esac
|
|
|