33 lines
829 B
Bash
Executable File
33 lines
829 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
SCALE_FILE="scale.txt"
|
|
DIRNAME="/tmp/$(ls /tmp | grep scale.sh | head -n 1)"
|
|
CUR_SCALE=$(swaymsg -t get_outputs | grep -oP "scale\": \K\d.\d+")
|
|
NEW_SCALE=""
|
|
|
|
if [[ $DIRNAME == "/tmp/" ]]; then
|
|
DIRNAME=$(mktemp -d "${TMPDIR:-/tmp/}$(basename $0).XXXXXXXXXXXX")
|
|
echo $CUR_SCALE > $DIRNAME/$SCALE_FILE
|
|
else
|
|
CUR_SCALE=$(cat $DIRNAME/$SCALE_FILE)
|
|
fi
|
|
|
|
if [[ $1 == "inc" ]]; then
|
|
NEW_SCALE=$(echo $CUR_SCALE + 0.25 | bc)
|
|
elif [[ $1 == "dec" ]]; then
|
|
NEW_SCALE=$(echo $CUR_SCALE - 0.25 | bc)
|
|
else
|
|
echo "No op provided, pass in 'inc' or 'dec' to change scale"
|
|
fi
|
|
|
|
if [[ $NEW_SCALE < 0.50 ]]; then
|
|
NEW_SCALE=0.50
|
|
elif [[ $NEW_SCALE > 2 ]]; then
|
|
NEW_SCALE=2.00
|
|
fi
|
|
|
|
echo $NEW_SCALE > $DIRNAME/$SCALE_FILE
|
|
|
|
notify-send -t 1000 "Scale set to $NEW_SCALE"
|
|
swaymsg "output * scale $NEW_SCALE"
|