#!/bin/sh # # $Id$ # thank you, https://ubuntuhandbook.org/index.php/2017/04/custom-screen-resolution-ubuntu-desktop/ me=`basename "$0"` action=$1 Note() { echo $@ 1>&2 } case "$action" in add|del) shift ;; *) Note "Usage: $me [add|del] [arguments to cvt]" exit 1 ;; esac AddOrDelMode() { action=$1 shift [ X"$1" = XModeline ] || exit 1 shift mode=$1 shift [ "$action" = add ] && xrandr --newmode $mode "$@" rc=2 for devname in `xrandr | awk '$2 == "connected" {print $1}'` do if xrandr --"$action"mode "$devname" $mode then Note $action mode $mode on device $devname succeeded rc=0 # one is good enough else Note $action mode $mode on device $devname failed fi done return $rc } mode=`cvt "$@" | grep -v '^#' | sed 's/"//g'` AddOrDelMode "$action" $mode