#!/usr/bin/bash


set -x
# exit
echo $0 ran at `date` >> /tmp/autoscale.log
edp1=0
edp2=0
hdmi1=0
hdmi2=0

plcment=sepa
case $1 in
cover)
plcment=$1
;;
esac

moncount=`xrandr|grep -w connected |wc -l`
edp1=`xrandr|grep -w connected |grep  -c -w eDP-1`
edp2=`xrandr|grep -w connected |grep  -c -w DP-1`

hdmi1=`xrandr|grep -w connected |grep  -c -w HDMI-1`
hdmi2=`xrandr|grep -w connected |grep  -c -w HDMI-2`



[ $hdmi1 -gt 0 ] && mon1="HDMI-1"
[ $hdmi2 -gt 0 ] && mon2="HDMI-2"
[ $edp2 -gt 0 ] && mon3="DP-1"
[ $edp1 -gt 0 ] && mon0="eDP-1"


echo "HDMI-x, DP-1, eDP-1. scaling all to 1.0 assuming same wid x hght in pixel  "
[ $hdmi1 -gt 0 ] && xrandr --output HDMI-1 --scale 1.0x1.0
[ $hdmi2 -gt 0 ] && xrandr --output HDMI-2 --scale 1.0x1.0
[ $edp1 -gt 0 ] && xrandr --output eDP-1 --scale 1.0x1.0
[ $edp2 -gt 0 ] && xrandr --output DP-1 --scale 1.0x1.0

if [ $moncount -gt 1 ]
then
echo find height other mon.
set `xrandr |grep -w connected |grep -w $mon1| sed 's/primary//g'|sed 's/[x,+]/ /g'`
mwid=$3
mhig=$4

# if cover, laptop and first hdmi overlap ( my pref )
case $plcment in
cover)
mhig=0
;;
esac
echo cmd2exec = xrandr --output $mon0 --pos 0x$mhig >> /tmp/autoscale.log
[ ${#mon0} -gt 0 ] && xrandr --output $mon0 --pos 0x$mhig
[ ${#mon1} -gt 0 ] && xrandr --output $mon1 --pos 0x0
[ ${#mon2} -gt 0 ] && xrandr --output $mon2 --pos ${mwid}x0
[ ${#mon3} -gt 0 ] && xrandr --output $mon3 --pos ${mwid}x$mhig
fi

# [ $edp1 -gt 0 ] && xrandr --output eDP-1 --pos 0x1080
# [ $edp2 -gt 0 ] && xrandr --output DP-1 --pos 0x1080

cat <<EOF

with this script, eDP-1 (laptop screen ) is always below other scrn = height of other screen
like this:
[ HDMI-1 ][ HDMI-2 ]
[ laptop ]

hence, if moncount -gt 1
then
xrandr --output $mon0 --pos 0x<height of other mon>

EOF



