GNU/Linux >> Tutoriels Linux >  >> Linux

Raccourci/raccourci personnalisé pour ouvrir/mettre en avant une application

Le wmctrl programme est exactement ce que vous recherchez (sudo apt-get install wmctrl ). Vous pouvez utiliser le wmctrl -a "AppTitle" commande pour mettre l'application au premier plan. wmctrl -l listera toutes les fenêtres disponibles, il devrait donc être facile d'écrire un script shell qui vérifie si votre programme est en cours d'exécution et le lance ou le place au premier plan. Ensuite, vous pouvez simplement lier cela à un raccourci clavier.

Enregistrez d'abord le script suivant quelque part, j'utiliserai /home/jtb/code/bringToFront . Il faut deux arguments, le premier est ce que vous taperiez sur le terminal pour lancer le programme, le second est une sous-chaîne du titre de la fenêtre du programme. S'il n'y a pas de chaîne unique constante dans le titre, vous devrez faire un peu plus de travail pour trouver la fenêtre du programme.

#!/bin/bash
if [ `wmctrl -l | grep -c "$2"` != 0 ]  
then
    wmctrl -a "$2"
else
    $1 &
fi
  1. Avec le script dans votre répertoire actuel, exécutez chmod +x bringToFront pour rendre le script exécutable. Assurez-vous ensuite que cela fonctionne; pour lancer/focus firefox, vous pouvez exécuter ./bringToFront firefox "Mozilla Firefox" .

  2. Nous devons maintenant lier une touche de raccourci. Exécutez gconf-editor et naviguez dans la structure des dossiers vers la gauche jusqu'à /apps/metacity/keybinding_commands .

  3. Double-cliquez sur le premier command avec une valeur vide, probablement command_1 . Tapez le chemin d'accès complet au script et fournissez les deux paramètres, par ex. /home/jtb/code/bringToFront firefox Firefox .

  4. Dans le panneau de gauche, sélectionnez global_keybindings , le dossier suivant. Trouvez le run entrée correspondant à la commande que vous venez de définir, probablement run_command_1 . Double-cliquez dessus et tapez le raccourci clavier que vous souhaitez utiliser. Mettez les modificateurs entre crochets, par ex. <Ctrl><Alt>F .

Maintenant Contrôle + Alt + F amènera votre fenêtre firefox au premier plan, ou la lancera si elle n'est pas déjà en cours d'exécution.


Voici une autre façon de le faire avec xdotools . Le processus de pop-up est reconnu par la ligne de commande émise pour l'exécuter (aucun fichier pid ou titre de fenêtre unique n'est nécessaire).

#!/bin/bash

cmd="[email protected]"
# command line to be run. Note that the resulting
# process will hold this in /proc/PID/cmdline 

pid=`pgrep -nf "^$cmd$"`
# most recent process having "$cmd" in /proc/PID/cmdline

if [ -z "$pid" ]; then # no pid
    exec $cmd
    # run command
else
    winid=`xdotool search --all --pid $pid --onlyvisible | head -1`
    # first visible window owned by pid
    xdotool windowactivate $winid
    # give window focus
fi

Linux
  1. Commandes personnalisées

  2. Comment exécuter des scripts personnalisés sur le plug-in de périphérique USB ?

  3. Exécuter une application 32 bits sous Linux 64 bits ?

  4. Timekpr (Revived) - Une application de contrôle parental Open Source pour Linux

  5. Comment sélectionner un numéro de port statique pour une application personnalisée ?

Exécutez la ligne de commande Linux sur votre iPad

Ouvrir des dossiers dans n'importe quelle application de terminal de Nautilus

Comment exécuter ONLYOFFICE intégré à Nextcloud sur Cloudron

Application Cerebro - Une source open source équivalente à la fonctionnalité Spotlight de Mac OS X

Comment exécuter une application .NET dans Docker

Comment exécuter le terminal à l'aide de raccourcis clavier dans Gnome 2 ?