cloneScreens
Lo script descritto nelle slide
This commit is contained in:
67
cloneScreens
Normal file
67
cloneScreens
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
function setClone {
|
||||||
|
PRIMARY=$1
|
||||||
|
SECONDARY=$2
|
||||||
|
while read -r l
|
||||||
|
do
|
||||||
|
if echo $l | grep -Eq "^[a-zA-Z][a-zA-Z0-9-]"
|
||||||
|
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="$CML $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='same-as'
|
||||||
|
if [ -n "$1" ]
|
||||||
|
then
|
||||||
|
if [ $1 = '-l' ]
|
||||||
|
then
|
||||||
|
POSITION='left-of'
|
||||||
|
fi
|
||||||
|
if [ $1 = '-r' ]
|
||||||
|
then
|
||||||
|
POSITION='right-of'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
PRIMARY=`xrandr | grep " connected" | grep primary | sed -e "s/ .*$//"`
|
||||||
|
SECONDARY=`xrandr | grep " connected" | grep -v primary | sed -e "s/ .*$//"`
|
||||||
|
|
||||||
|
if [ $POSITION = 'same-as' ]
|
||||||
|
then
|
||||||
|
xrandr | setClone $PRIMARY $SECONDARY
|
||||||
|
else
|
||||||
|
xrandr --output $SECONDARY --$POSITION $PRIMARY
|
||||||
|
fi
|
||||||
|
|
||||||
Reference in New Issue
Block a user