Après avoir accédé à une page Web ou à un éditeur, existe-t-il un moyen de ramener tous les terminaux ouverts à l'avant dans leur position d'origine? C'est un peu pénible de cliquer sur l'icône du terminal, puis de ramener chacun individuellement.
Merci!
Exemple:
Vous pouvez appuyer sur Alt+Tab pour basculer entre les fenêtres et Alt+Shift+Tab pour revenir entre les fenêtres. Ce raccourci est conçu pour fonctionner dans presque tous les systèmes d'exploitation graphiques. Yow peut également utiliser Super+W et les touches fléchées pour le même but.
Après avoir amené une fenêtre de terminal à l'avant, appuyez sur Alt+~ pour amener toutes les autres fenêtres de terminal à l'avant une à une:
Pour amener automatiquement tous les terminaux ouverts à l'avant (pas un par un comme je l'ai décrit précédemment), vous devrez ajouter un raccourci clavier pour le script suivant (script extrait de Adoberéponse et amélioré étant donné que la version du script n'a pas fonctionné pour moi):
#!/bin/bash
if [ $# -ne 1 ];then
echo -e "Usage: `basename $0` PROGRAM_NAME\n
For example:\n\t
'`basename $0` gnome-terminal' for Terminal\n\t
'`basename $0` firefox' for Firefox\n\t
'`basename $0` chromium-browser' for Chromium\n\t..."
exit 1
fi
pids=" $(pidof $@) "
if [ "$pids" = " " ]; then # the string " " contain two spaces
echo "There is no program named '$@' opened at the moment."
exit 1
fi
wmctrl -lp | while read identity desktop_number PID window_title; do
if [ "${pids/ $PID }" != "$pids" ]; then
wmctrl -ia $identity
fi
done
N'oubliez pas de rendre le script exécutable:
chmod +x /path/to/script/script_name
Après avoir testé le script en terminal, vous devez voir:
Voici un petit script bash qui affiche toutes les fenêtres dont le titre correspond à ARG:
bring-all-windows.bash ARG
Le scénario:
#!/bin/bash
Program=$@
wmctrl -l | while read Window; do
if [[ "$Window" == *"$Program"* ]]; then
echo "DEBUG: I bring $Window"
code=`echo "$Window" | cut -f 1 -d " "`
wmctrl -i -a $code
fi
done
Vous pouvez lier
bring-all-windows.bash Terminal
à un raccourci clavier (n'oubliez pas de placer le script dans un PATH de connexion Shell ou d'écrire un chemin complet).
Le script nécessite que wmctrl
soit installé.
Edit:
Pour exécuter quelque chose depuis le terminal, naviguez jusqu'au répertoire où vous avez mis le script, puis
chmod +x bring-all-windows.bash
./bring-all-windows.bash Terminal
Lorsque vous êtes sûr que cela fonctionne depuis le terminal, essayez de le lier à une touche de raccourci, en indiquant le chemin complet. Lorsque vous êtes certain que cela fonctionne avec un raccourci clavier et le chemin d'accès complet au script, essayez d'ajouter son répertoire à la variable PATH de connexion et vérifiez si cela fonctionne ainsi.
Une autre façon consiste à utiliser xdotool
. Vous devriez d'abord l'installer pour que Sudo apt-get install xdotool
soit obligatoire.
xdotool search --class "terminal" windowactivate %@
xdotool search --name "braiam@bt" windowactivate %@
La première recherche tout binaire appelé *terminal*
, la seconde recherche toute fenêtre ayant pour titre *braiam@bt*
. Ensuite, si vous mettez cela dans un script bash:
#!/bin/bash
set -e
program=$@
xdotool search --class '$program' windowactivate %@
xdotool search --name '$program' windowactivate %@
Vous pouvez en savoir plus à ce sujet dans le manuel xdotool
.
Pour les archives: https://Gist.github.com/psi-4ward/18c3a596d28a3cfa772101af755545df
Un script qui respecte les applications récemment utilisées
Graphiquement, sur mon bureau Ubuntu, mes icônes sont disposées verticalement dans la marge gauche de mon bureau. Si vous restez cliqué sur l'icône du terminal, vous verrez toutes les fenêtres du terminal. Ensuite, vous pouvez choisir celui dans lequel vous souhaitez travailler. Si vous cliquez avec le bouton droit de la souris sur l’icône du terminal, vous verrez une liste de menus avec un "Nouveau terminal" en haut, et tous vos terminaux ouverts dans la partie inférieure de la liste. Vous pouvez sélectionner le terminal actif.
Cette même méthode devrait fonctionner pour toute autre application telle que votre navigateur.