Page 1 sur 1

Choix simplifié d'écran externe au démarrage de session Xfce

Publié : 28 mai 2019, 13:58
par Armag67
Bonjour,

Sous Xfce, lorsqu'on branche un écran externe sur son laptop, xfce4-display-settings --minimal est automatiquement lancé et affiche la fenêtre de choix :

Image
qui permet de facilement choisir son écran sans jongler à chaque fois avec les multiples réglages de la fenêtre avancée de xfce4-display-settings.

Mais si votre écran est branché presque en permanence il vous faut lancer explicitement
xfce4-display-settings --minimal dans votre session via la ligne de commande ou via un lanceur dédié à rajouter dans votre menu ou tableau de bord ou bureau (la version de xfce4-display-settings avec l'option minimale n'est pas présente dans les menus).

Ce petit bash permet d'automatiser le lancement au démarrage de session de la fenêtre de choix uniquement si un écran externe (VGA ou HDMI) est connecté :

#!/bin/sh

# Nom conseillé : screen-detect.sh

vga=`xrandr | grep -i VGA`
hdmi=`xrandr | grep -i HDMI`

if [[ $vga != *"disconnected"* ]] || [[ $hdmi != *"disconnected"* ]]
then
	xfce4-display-settings --minimal
fi
À tester naturellement écran externe branché puis débranché avant login (pensez à rendre le script exécutable).
Le script est facilement extensible aux sortie DVI, S-video, etc.
Il ne reste alors plus qu'à créer une entrée idoine de type "on login" qui pointe vers le script dans Paramètres -> Session et démarrage -> Onglet : Démarrage automatique d'application

Pour ma part j'ai créé un dossier de scripts partagés dans /home
Je n'ai pas de périphérique HDMI ( :gsourire: ), vous pourrez m'indiquer si ça fonctionne aussi dans ce cas.

En espérant que ça peut aider (surtout à gagner du temps)...

Bonne journée à tous

Re: Choix simplifié d'écran externe au démarrage de session Xfce

Publié : 21 jui 2019, 00:00
par Armag67
Comme je suis un gros flemmard qui cherche à éviter deux malheureux clics de souris à chaque log, j'ai un peu amélioré mon code... :siffle

#!/bin/sh

# À lancer automatiquement au démarrage de la session.

# Nécessite d'installer xdotool (community).

vga=`xrandr | grep -i VGA`
hdmi=`xrandr | grep -i HDMI`

if [[ $vga != *"disconnected"* ]] || [[ $hdmi != *"disconnected"* ]]
then

	sleep 5.0
	xfce4-display-settings --minimal &
	if [[ $hdmi = *"disconnected"* ]]
	then
		while ((1))
		do
			WID=`xdotool search --name "Écrans"`
			length=`echo -n $WID | wc -c`
			if (("$length">"0"))
			then
				break
			fi
		done
		sleep 5.0
		xdotool mousemove --window $WID 615 75 click 1
		sleep 1.5
		xdotool mousemove --window $WID 665 190 click 1
		# xdotool key --window $WID Alt+c Alt+f # ne fonctionne pas dans ce contexte !
		# À vous d'ajuster les coordonnées x et y si nécessaire.
	elif [[ $vga = *"disconnected"* ]]
	then
		:
		# utiliser xdotool de manière analogue pour se positionner
		# sur la fenêtre "Écrans" et cliquer sur les boutons idoines.
	fi
else
	:
	# Pas d'écran externe connecté : ne rien faire
fi
Bon vol...