xrandr+Dual Display

ノートパソコンを外部ディスプレイやプロジェクタに接続するときに,
接続先によっては解像度の自動選択がうまくできないことがあり,
手動で解像度を選んでやる必要があった.

面倒なので自動化してみた.
xrandr -q で使える解像度一覧が出てくるので,
正規表現で切り出して,画素数(?)順にソート.
大きい順に成功するまで試す.

#! /bin/zsh

#旧
#xrandr --output VGA --above LVDS ${1:+"--mode"} ${1:-"--auto"}

xrandr -q | sed -n 's/^\s\+\([0-9]\+\)x\([0-9]\+\)\s\+.*$/\1 \2/p' | \
 (while read w h
 do
    echo $(($w*$h)) $w $h
 done) | \
 sort -nr | uniq | \
 (while read r w h
 do
   xrandr --output VGA --above LVDS --mode ${w}x${h} > /dev/null && exit
 done)