#!/bin/bash function setClone { PRIMARY=$1 SECONDARY=$2 while read -r l do if echo $l | grep -Eq "^[a-zA-Z]" then DEV=`echo $l | sed -e "s/ .*$//"` MODELIST=`echo ${DEV} | sed -e "s/-/_/g"`_MODES typeset -n CML=$MODELIST elif echo $l | grep -q "^[0-9]" then MODE=`echo $l | sed -e "s/ .*$//"` CML="${!MODELIST} $MODE" fi done PRIMARY_LIST=`echo ${PRIMARY} | sed -e "s/-/_/g"`_MODES SECONDARY_LIST=`echo ${SECONDARY} | sed -e "s/-/_/g"`_MODES typeset -n PRIMARY_MODES=$PRIMARY_LIST typeset -n SECONDARY_MODES=$SECONDARY_LIST MODE="" for pm in $PRIMARY_MODES do for sm in $SECONDARY_MODES do if [ $pm = $sm -a -z $MODE ] then MODE=$pm fi done done if [ -z "$MODE" ] then echo Nessun modo comune ERRORE! exit 2 else echo $MODE xrandr --output $PRIMARY --mode $MODE xrandr --output $SECONDARY --mode $MODE xrandr --output $SECONDARY --same-as $PRIMARY fi } POSITION='right-of' if [ -n "$1" ] then if [ $1 = '-l' ] then POSITION='left-of' elif [ $1 = '-r' ] then POSITION='right-of' elif [ $1 = '-u' ] then POSITION='above' else echo "-l Display piccolo a sinisitra" echo "-r Display piccolo a destra" echo "-l Display piccolo sopra" exit 1 fi fi PRIMARY=`xrandr | grep " connected" | grep primary | sed -e "s/ .*$//"` # https://stackoverflow.com/questions/613572/capturing-multiple-line-output-into-a-bash-variable declare R=($(xrandr | grep " connected" | grep -v primary | sed -e "s/[^ ]* c[^ ]* \([0-9]*\).*$/\1/")) if expr ${R[0]} \< ${R[1]} then SRES=${R[0]} else SRES=${R[1]} fi echo risoluzion schermo piccolo $SRES SECONDARY=`xrandr | grep " connected" | grep -v primary | grep -v ${SRES}x | sed -e "s/ .*$//"` TERTIARY=`xrandr | grep " connected" | grep -v primary | grep ${SRES}x | sed -e "s/ .*$//"` if [ -z $SECONDARY ] then SECONDARY=`xrandr | grep " connected" | grep -v primary | grep ${SRES}x | grep -v $TERTIARY | sed -e "s/ .*$//"` fi # SECONDARY=DP-1 # TERTIARY=DP-2 echo Primary $PRIMARY echo Secondary $SECONDARY echo Tertiary $TERTIARY xrandr | setClone $PRIMARY $SECONDARY xrandr --output $TERTIARY --$POSITION $PRIMARY # echo "xrandr | setClone $PRIMARY $SECONDARY same-as" # xrandr | setClone $SECONDARY $TERTIARY same-as # echo "xrandr --output $TERTIARY --$POSITION $PRIMARY" # xrandr --output $SECONDARY --$POSITION $PRIMARY