#!/bin/bash
active(){
    xrandr --listactivemonitors |sed -e 1d -e 's/+/ /g' |sort -k4 |awk '{print $NF}'
}

get(){
    xrandr |grep -w connected |cut -f1 -d ' '
}

primary(){
     xrandr |grep -m1 primary | cut -f1 -d ' '
}

swap(){
    mon_lst="$(active)"
    [ $(echo $mon_lst |wc -w) -gt 1 ] && set $(echo "$mon_lst" |tac)
}

init(){
    set $(get)
    xrandr --auto
}

set(){
xshift=0
cmdline=$(for a in $@ ; do
    res=$(xrandr |grep -A 1 $a |tail -n1 |awk '{print $1}')
    echo -n "--output $a --mode $res --pos ${xshift}x0 "
    xshift=$(echo $res |cut -f1 -d 'x')
done)
echo $cmdline
xrandr $cmdline
}


$1