]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/blobdiff - autorandr
Log to stderr (Required to allow users to redirect --dry-run output)
[deb_pkgs/autorandr.git] / autorandr
index 8dfa9dda420bf1149c83dd356b7a663bfec01962..eace95048e1713ba00ee90b254319e51c1e72e5c 100755 (executable)
--- a/autorandr
+++ b/autorandr
@@ -4,12 +4,6 @@
 #
 # Copyright (c) 2013 Stefan Tomanek <stefan.tomanek@wertarbyte.de>
 #
-#
-#
-# THE FOLLOWING LICENCE AGREEMENT IS PRELIMINARY AND INVALID UNTIL ISSUE #7 AT
-#  https://github.com/phillipberndt/autorandr/issues/7
-# HAS BEEN RESOLVED!
-#
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
@@ -81,7 +75,7 @@ FORCE_LOAD=0
 DEFAULT_PROFILE=""
 SAVE_PROFILE=""
 
-FP_METHODS="setup_fp_sysfs_edid setup_fp_xrandr_edid"
+FP_METHODS="setup_fp_xrandr_edid setup_fp_sysfs_edid"
 CURRENT_CFG_METHOD="current_cfg_xrandr"
 LOAD_METHOD="load_cfg_xrandr"
 
@@ -168,6 +162,7 @@ current_cfg_xrandr() {
        $XRANDR -q | awk -v primary_setup="${PRIMARY_SETUP}" '
        # display is connected and has a mode
        /^[^ ]+ connected [^(]/ {
+               output=$1
                print "output "$1;
                if ($3 == "primary") {
                        print $3
@@ -193,9 +188,19 @@ current_cfg_xrandr() {
                }
                next;
        }
+       /  [0-9]+x[0-9]+ .+/ {
+               if (output) {
+                       for (n=1; n<10; n++) {
+                               if($n ~ /[0-9]+\.[0-9]+\*/) {
+                                       print "rate " gensub(/(+|\*)/, "", "g", $n);
+                               }
+                       }
+               }
+       }
        # disconnected or disabled displays
        /^[^ ]+ (dis)?connected / ||
        /^[^ ]+ unknown connection / {
+               output=""
                print "output "$1;
                print "off";
                next;