#!/bin/sh help() { cat <] [-x ] [-y ] [-ref ] 'xrandr' with no arguments will give you a listing. EOF printf 'Defaults: x: %-6d y: %-6d ref: %-6.2f\n' "$x" "$y" "$ref" exit 1 } display=DisplayPort-0 x=3840 y=2160 ref=110.00 while [ $# -gt 0 ] ; do case $1 in -d) display="$2" ; shift ; shift ;; -x) x="$2"; shift ; shift ;; -y) y="$2"; shift ; shift ;; -ref) ref="$(printf "%0.2f" "$2")"; shift ; shift ;; *) help;; esac ; done modename="${x}x${y}_$ref" mdline="$(cvt "$x" "$y" "$ref" | sed -ne's/^Modeline "[^"]*"//p')" #shellcheck disable=SC2086 xrandr --newmode "$modename" $mdline xrandr --addmode "$display" "$modename" xrandr --output "$display" --mode "$modename"