]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/commitdiff
add alternative fingerprinting method
authorStefan Tomanek <stefan.tomanek@wertarbyte.de>
Wed, 27 Oct 2010 19:56:08 +0000 (21:56 +0200)
committerStefan Tomanek <stefan.tomanek@wertarbyte.de>
Wed, 27 Oct 2010 19:56:08 +0000 (21:56 +0200)
autorandr

index 680a5ae5f5e479c6861bd8421cc1bacb51e18faf..f68392eb8eb8f50a9977f5c7e2c95e0d5210179e 100755 (executable)
--- a/autorandr
+++ b/autorandr
@@ -42,13 +42,24 @@ CHANGE_PROFILE=0
 DEFAULT_PROFILE=""
 SAVE_PROFILE=""
 
-setup_fp() {
+setup_fp_edid() {
        $XRANDR -q --verbose | awk '
        /^[^ ]+ (dis)?connected / { DEV=$1; ID[DEV] = ""; }
        $1 ~ /^[a-f0-9]+$/ { ID[DEV] = ID[DEV] $1 }
        END { for (X in ID) { print X " " ID[X]; } }'
 }
 
+setup_fp_dim() {
+       $XRANDR -q --verbose | awk '
+       /^[^ ]+ connected / { CONNECTED=1 }
+       /^[^ ]+ disconnected / { CONNECTED=0 }
+       /^[^ ]+ (dis)?connected / \
+       && match($0, "([0-9]+mm) x ([0-9]+mm)", A) {
+               print $1, (CONNECTED==1 ? A[1]"x"A[2] : "" )
+       }'
+}
+
+
 current_cfg() {
        $XRANDR -q | awk '
        /^[^ ]+ disconnected / {
@@ -84,7 +95,7 @@ load() {
 }
 
 # process parameters
-OPTS=$(getopt -n autorandr -o s:l:d:c --long change,default:,save:,load: -- "$@")
+OPTS=$(getopt -n autorandr -o s:l:d:cf --long change,default:,save:,load:,fingerprint -- "$@")
 if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
 eval set -- "$OPTS"
 
@@ -94,12 +105,13 @@ while true; do
         -d|--default) DEFAULT_PROFILE="$2"; shift 2 ;;
         -s|--save) SAVE_PROFILE="$2"; shift 2 ;;
         -l|--load) LOAD_PROFILE="$2"; shift 2 ;;
+       --fingerprint) setup_fp_edid; exit 0;;
         --) shift; break ;;
         *) echo "Error: $1"; exit 1;;
     esac
 done
 
-CURRENT_SETUP="$(setup_fp)"
+CURRENT_SETUP="$(setup_fp_edid)"
 
 if [ -n "$SAVE_PROFILE" ]; then
     echo "Saving current configuration as profile '${SAVE_PROFILE}'"