web-dev-qa-db-fra.com

Raccourci pour amener tous les terminaux ouverts à l'avant

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:

  • Pré-raccourci:

Pre-image shortcut


  • Post-raccourci:

Post-image shortcut

17
TomSelleck

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:

switch to windows


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:

9
Radu Rădeanu

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.

8
Adobe

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.

0
Braiam

Pour les archives: https://Gist.github.com/psi-4ward/18c3a596d28a3cfa772101af755545df

Un script qui respecte les applications récemment utilisées

0
Psi

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.

0
Kemin Zhou