#!/bin/bash
#Variables estáticas
XRANDR=/usr/bin/xrandr
NOTEBOOK_MONITOR="eDP-1"
MODLINE_LABEL_1280="1280x1024_docking"
MODLINE_1280="$(/usr/bin/cvt 1280 1024 | grep Modeline)"; MODLINE_1280=${MODLINE_1280:26}
#Variables dinamicas
OUTPUT_1280_A=$($XRANDR | grep "1280x1024 " -B1| grep DP | grep -v dis| awk '{print $1}'| head -n 1)
if [ "$($XRANDR | grep "1280x1024 " -B1| grep DP | grep -v dis| awk '{print $1}'| wc -l)" -eq "2" ] ; then
OUTPUT_1280_B=$($XRANDR | grep "1280x1024 " -B1| grep DP | grep -v dis| awk '{print $1}'| tail -n 1)
else
OUTPUT_1280_B=""
fi
if [ ! -z "$OUTPUT_1280_B" ] ; then
#Casos con dos monitores y el de la notebook apagado
$XRANDR --output $NOTEBOOK_MONITOR --off
$XRANDR --newmode $MODLINE_LABEL_1280 $MODLINE_1280
$XRANDR --addmode $OUTPUT_1280_A $MODLINE_LABEL_1280
$XRANDR --addmode $OUTPUT_1280_B $MODLINE_LABEL_1280
$XRANDR --output $OUTPUT_1280_A --preferred
$XRANDR --output $OUTPUT_1280_B --preferred
$XRANDR --output $OUTPUT_1280_A --mode $MODLINE_LABEL_1280
$XRANDR --output $OUTPUT_1280_B --mode $MODLINE_LABEL_1280
$XRANDR --output $OUTPUT_1280_B --right-of $OUTPUT_1280_A
else
#Casos con un monitor externo y el de la notebook prendido
$XRANDR --output $NOTEBOOK_MONITOR --preferred
$XRANDR --newmode $MODLINE_LABEL_1280 $MODLINE_1280
$XRANDR --addmode $OUTPUT_1280_A $MODLINE_LABEL_1280
$XRANDR --output $OUTPUT_1280_A --mode $MODLINE_LABEL_1280 --crtc 0
$XRANDR --output $OUTPUT_1280_A --primary
$XRANDR --output $NOTEBOOK_MONITOR --right-of $OUTPUT_1280_A
fi