]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/blobdiff - autorandr
detect primary screen and save to config.
[deb_pkgs/autorandr.git] / autorandr
index 70e3c7a2a311028b428822d0c5efa8fbb154e826..89d5e25609a6310ff514f304fa9c115bb681767d 100755 (executable)
--- a/autorandr
+++ b/autorandr
@@ -113,16 +113,23 @@ setup_fp() {
 }
 
 current_cfg_xrandr() {
-       $XRANDR -q | awk '
-       /^[^ ]+ disconnected / {
-        print "output "$1;
-               print "off";
-       }
-       /^[^ ]+ connected / {
+       local PRIMARY_SETUP=$(xdpyinfo -ext XINERAMA|awk '/^  head #0:/ {printf $3 $5}')
+       $XRANDR -q | awk -v primary_setup=${PRIMARY_SETUP} '
+       # display is connected and has a mode
+       /^[^ ]+ connected [^(]/ {
                split($3, A, "+");
                print "output "$1;
                print "mode "A[1];
                print "pos "A[2]"x"A[3];
+               if (A[1] A[2] "," A[3] == primary_setup)
+                       print "primary";
+               next;
+       }
+       # disconnected or disabled displays
+       /^[^ ]+ (dis)?connected / {
+               print "output "$1;
+               print "off";
+               next;
        }'
 }