Je configure Terminator pour mon bureau. J'utilise le raccourci Ctrl
+ Alt
+ T
pour le lancer. Comme je ne veux qu’une seule instance en cours d’exécution, j’utilise run-one terminator
comme commande de lancement.
Maintenant, si une instance Terminator est en cours d’exécution, une nouvelle instance n’est pas lancée, mais l’instance existante n’est pas centrée.
Des idées sur la façon dont je pourrais obtenir le focus sur la fenêtre de Terminator?
Essayez d'installer wmctrl: Sudo apt-get install wmctrl
maintenant la commande wmctrl -a STRING
donne le focus à une fenêtre contenant STRING dans son titre
Votre commande finale sera donc:
run-one terminator; wmctrl -a Terminator
Voici une méthode qui fonctionne sans run-one
en supposant que wmctrl
est disponible:
wmctrl -xa terminator.Terminator || terminator
Cela suppose que le nom de classe de fenêtre par défaut est utilisé. Vous pouvez faire preuve de créativité si vous le souhaitez et utiliser un nom de classe personnalisé lors du lancement de terminator
. Cela vous permettra de garder votre raccourci du terminateur séparé de l'instance normale terminateur:
wmctrl -xa MyCustomTerminator.Terminator || terminator -c MyCustomTerminator
Cela ne fait que renforcer la réponse de Denis sans qu'il soit nécessaire d'utiliser run-one
.
Voici le hack sur lequel j'ai décidé d’utiliser run-one et xdotool
Dans /home/(user)/my_scripts/single_terminator_instance.sh
#!/usr/bin/bash
# run a single instance of terminator
/usr/bin/run-one /usr/bin/terminator
# search for the terminator window and focus!!!
/usr/bin/xdotool search --onlyvisible --class terminator windowactivate
Ensuite
Main Menu
pour qu'elle pointe vers le script ci-dessusCtrl
+ Alt
+ T
active le script.En cherchant sur l’Internet, j’ai aussi découvert par hasard this
Depuis que je suis nouveau sur les scripts bash, je me réjouis de tout raffinement du hack!