]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/commitdiff
Merge branch 'feature/preswitch_scripts' of http://github.com/torrancew/autorandr
authorPhillip Berndt <phillip.berndt@googlemail.com>
Thu, 30 Jan 2014 12:41:30 +0000 (13:41 +0100)
committerPhillip Berndt <phillip.berndt@googlemail.com>
Thu, 30 Jan 2014 12:41:30 +0000 (13:41 +0100)
1  2 
autorandr

diff --combined autorandr
index 90f63ec09e509799325252b2541fd1f3fb741ae1,e77aeb74b23f58b2ca0c1c707fd01ba64ce7b22d..fbf17a14699bb96989ebc3587db2c7477779b1a7
+++ b/autorandr
@@@ -55,7 -55,7 +55,7 @@@ FORCE_LOAD=
  DEFAULT_PROFILE=""
  SAVE_PROFILE=""
  
 -FP_METHODS="setup_fp_xrandr_edid setup_fp_sysfs_edid"
 +FP_METHODS="setup_fp_sysfs_edid setup_fp_xrandr_edid"
  CURRENT_CFG_METHOD="current_cfg_xrandr"
  LOAD_METHOD="load_cfg_xrandr"
  
@@@ -121,22 -121,15 +121,22 @@@ current_cfg_xrandr() 
        $XRANDR -q | awk -v primary_setup="${PRIMARY_SETUP}" '
        # display is connected and has a mode
        /^[^ ]+ connected [^(]/ {
 -              split($3, A, "+");
                print "output "$1;
 +              if ($3 == "primary") {
 +                      print $3
 +                      split($4, A, "+")
 +                      $4=$5
 +              }
 +              else {
 +                      split($3, A, "+");
 +                      if (A[1] A[2] "," A[3] == primary_setup)
 +                              print "primary";
 +              }
                print "mode "A[1];
                print "pos "A[2]"x"A[3];
                if ($4 !~ /^\(/) {
                        print "rotate "$4;
                }
 -              if (A[1] A[2] "," A[3] == primary_setup)
 -                      print "primary";
                next;
        }
        # disconnected or disabled displays
@@@ -174,28 -167,7 +174,28 @@@ config_equal() 
  }
  
  load_cfg_xrandr() {
 -      sed 's!^!--!' "$1" | xargs $XRANDR
 +      # sed 1: Prefix arguments with "--"
 +      # sed 2: Merge arguments into one line per output
 +      # sed 3: Merge into two lines, all --off outputs in the first one
 +      sed 's/^/--/' "$1" | sed -e '
 +              :START
 +              /\n--output/{P;D}
 +              s/\n/ /
 +              N;bSTART' | sed -e '
 +                      ### First line
 +                      / --off/{
 +                              G
 +                              # Merge if next line contains --off
 +                              s/\n\([^\n]* --off\)/ \1/
 +                              h
 +                              $!d;b
 +                      }
 +                      ### Last line
 +                      H;x
 +                      # Merge if previous line contains --mode
 +                      s/\(--mode [^\n]*\)\n/\1 /
 +                      h
 +                      $!d' | xargs -L 1 $XRANDR
  }
  
  load_cfg_disper() {
@@@ -206,6 -178,11 +206,11 @@@ load() 
        local PROFILE="$1"
        local CONF="$PROFILES/$PROFILE/config"
        if [ -e "$CONF" ] ; then
+     [ -x "$PROFILES/preswitch" ] && \
+       "$PROFILES/preswitch" "$PROFILE"
+     [ -x "$PROFILES/$PROFILE/preswitch" ] && \
+       "$PROFILES/$PROFILE/preswitch" "$PROFILE"
                echo " -> loading profile $PROFILE"
                $LOAD_METHOD "$CONF"