#!/bin/bash # When called as Z-, this script zooms out. When called as Z+, it zooms in. # Pass the font size delta as the second argument. If none is given, 1 is assumed. set -eu font=$(9p read acme/$winid/ctl | awk '{ print $7 }') # Get current font size cursz=$(echo "$font" | awk -F '/' '{ print $(NF - 1) }') delta=${1:-1} case "$(basename $0)" in Z-) incr=-$delta ;; Z+) incr=+$delta ;; *) echo wat incr=+$delta ;; esac # Get new size # Hack: This assumes antialiased fonts always newsz=$(($(echo "$cursz" | tr -dc '[0-9]') + "$incr"))a # New font newfont=$(echo "$font" | awk -v newsz="$newsz" -F'/' '{ print "/mnt/font/"$4"/"newsz"/font" }') printf "font %s\n" "$newfont" | 9p write acme/$winid/ctl