Salut !
Mea culpa encore pour le délai de réponse mais je n'ai pas eu une minute à moi jusqu'à aujourd'hui. Par contre je viens avec une bonne nouvelle (pour moi au moins). Je viens de tester le branchement d'un second écran et maintenant le script fonctionne... je ne sais pas si c'est une mise à jour du système ou le fait d'être passé à systemd qui a bouleversé les choses mais bon...
Voici donc le script modifié que j'utilise maintenant :
Code : Tout sélectionner
#!/bin/bash
LOG=detect-screen.log
# modify
export XAUTHORITY=/home/vignaux-g/.Xauthority
export DISPLAY=:0
if [ -e /tmp/$LOG ]
then
rm /tmp/$LOG
fi
touch /tmp/$LOG
cd /tmp
output=$(ls /sys/class/drm | sed '/card.*-/!d; /.*LVDS.*/d')
echo "available output are : "$output >> $LOG
# get what output to use
for i in $output
do
if [ "$(cat /sys/class/drm/$i/status)" == "connected" ]
then
valid=$i
else
cp /$HOME/.config/awesome/rcDefault.lua /$HOME/.config/awesome/rc.lua &
xrandr --output LVDS1 --mode 1280x800 --output HDMI1 --off --output VGA1 --off &
echo 'awesome.restart()' | awesome-client
fi
done
# put a nice name into valid
valid=$(echo $valid | sed 's/card.-//g; s/-.//g;s/.*/&1/')
# activate if needed
if [ "$valid" = "VGA1" ]
then
cp /$HOME/.config/awesome/rcDefault.lua /$HOME/.config/awesome/rc.lua &
xrandr --output $valid --auto --right-of LVDS1 &
echo 'awesome.restart()' | awesome-client
fi
if [ "$valid" = "HDMI1" ]
then
cp /$HOME/.config/awesome/rcHDMI.lua /$HOME/.config/awesome/rc.lua &
xrandr --output $valid --mode 1360x768 --right-of LVDS1 &
echo 'awesome.restart()' | awesome-client
fi
exit 0
Ce script est adapté à l'utilisation de deux écrans (pour plus il faudrait prévoir un test pour connaître quel écran se déconnecte). Il est capable d'autodétecter l'écran nouvellement branché ou débranché et d'adapter les affichages en conséquences selon le type de moniteur détecté.
J'ai également ajouté une commande xdotool (du paquet du même nom). Utilisant des écrans en mode étendu et non clone si je n'utilise pas cette commande tout l'affichage de l'écran principal bascule sur l'écran secondaire lors du branchement d'un nouveau moniteur (puisque ma souris bascule automatiquement sur ce nouvel écran et que mon awesomewm est configuré pour afficher les fenêtres sur l'écran où est la souris).
J'attends commentaires, critiques, améliorations avant de passe le post en résolu.
EDIT: la commande xdotool ne semble pas fonctionner correctement à chaque fois puisque parfois après branchement d'un second moniteur je me retrouve avec tous mes tags (shifty) sur le nouveau moniteur. Si quelqu'un a une solution pour celà... (pour tenter de faire simple j'aimerai qu'au branchement d'un nouveau moniteur je conserve ce qui était affiché sur mon écran principal sur celui-ci).