Actualiser virt-viewer/launch.sh

This commit is contained in:
wilou 2024-06-21 09:30:01 +00:00
parent 6b13bfcb2e
commit f172d7ed00

View File

@ -3,24 +3,71 @@
# Définir l'URI par défaut de libvirt # Définir l'URI par défaut de libvirt
export LIBVIRT_DEFAULT_URI="qemu:///system" export LIBVIRT_DEFAULT_URI="qemu:///system"
# Déplacer vers l'espace de travail 3
wmctrl -s 3
# Lancer virt-viewer pour la VM "windaube" en arrière-plan # Lancer virt-viewer pour la VM "windaube" en arrière-plan
virt-viewer -f -w -a windaube & virt-viewer -w -a windaube &
# Nom de la fenêtre à rechercher # Attendre quelques secondes pour s'assurer que virt-viewer est lancé
window_name="Windaube"
# Ajouter une pause pour donner le temps à la fenêtre de se créer
sleep 5 sleep 5
# Attendre que la fenêtre apparaisse et obtenir son ID # Fonction pour maximiser une fenêtre de virt-viewer
window_id="" maximize_window() {
while [ -z "$window_id" ]; do local window_title="$1"
window_id=$(wmctrl -l | grep "${window_name}" | awk '{print $1}') local attempt=0
local max_attempts=10
local found=1
while [ $attempt -lt $max_attempts ]; do
# Vérifier si la fenêtre existe
if wmctrl -l | grep -q "$window_title"; then
wmctrl -r "$window_title" -b add,maximized_vert,maximized_horz
found=0
break
fi
sleep 1 sleep 1
done attempt=$((attempt + 1))
done
# Déplacer la fenêtre vers l'espace de travail 3 if [ $found -eq 1 ]; then
wmctrl -i -r "$window_id" -t 3 echo "La fenêtre '$window_title' n'a pas été trouvée après $max_attempts tentatives."
fi
}
# Redimensionner et repositionner la fenêtre # Fonction pour déplacer une fenêtre de virt-viewer
wmctrl -i -r "$window_id" -e 0,1980,0,2560,1440 move_window() {
local window_title="$1"
local x="$2"
local y="$3"
local attempt=0
local max_attempts=10
local found=1
while [ $attempt -lt $max_attempts ]; do
# Vérifier si la fenêtre existe
if wmctrl -l | grep -q "$window_title"; then
wmctrl -r "$window_title" -e 0,$x,$y,-1,-1
found=0
break
fi
sleep 1
attempt=$((attempt + 1))
done
if [ $found -eq 1 ]; then
echo "La fenêtre '$window_title' n'a pas été trouvée après $max_attempts tentatives."
fi
}
# Maximiser la fenêtre "Windaube (1)"
maximize_window "Windaube (1)"
# Déplacer la fenêtre "Windaube (1)" sur le deuxième moniteur (exemple de position à adapter)
move_window "Windaube (1)" 0 0
# Maximiser la fenêtre "Windaube (2)"
maximize_window "Windaube (2)"
# Revenir vers l'espace de travail 0
wmctrl -s 0