#! /usr/bin/env bash # @describe Wrapper for zooming display # # https://github.com/sigoden/argc # @arg factor=1.0 Absolute or relative factor to zoom to, empty to reset eval "$(argc --argc-eval "$0" "$@")" factor="$(hyprctl -j getoption cursor:zoom_factor | jq -r .float)" # Current factor # Match regex for zero-padded decimals if [[ "${argc_factor:-}" =~ ^[+|-][0-9]\.[0-9]+$ ]]; then factor="$(bc <<< "$factor ${argc_factor}")" elif [[ "${argc_factor:-}" =~ ^[0-9]\.[0-9]+$ ]]; then factor="${argc_factor:-}" else echo "Factor must be an absolute or relative decimal between 1.0 and 9.9" exit 1 fi # Reset if outside range if (("$(bc <<< "$factor < 1")")); then factor=1.0 fi hyprctl keyword cursor:zoom_factor "$factor"