Comme décrit ici (askubuntu.com/questions/234206/shortcut-to-switch-to-app/328842), la wmctrl
vous donne accès à vos fenêtres. Donc, vous pouvez passer via le clavier. Mais j'aime bien avoir un raccourci pour ouvrir et se concentrer s'il est encore ouvert.
Y a-t-il un outil pour cela?
Encore une autre solution.
Assurez-vous d’avoir installé wmctrl: Sudo apt install wmctrl
Créez un raccourci avec la commande: bash -c "wmctrl -a chrome ; [ "$?" == "1" ] && google-chrome"
Explication: d'abord nous essayons de nous concentrer sur chrome (wmctrl -vxa chrome
), ensuite nous vérifions si nous avons réussi "$?" == "0" ou pas "$?" == "1" et si non, nous lançons alors Google chrome ([ "$?" == "1" ] && google-chrome"
).
Vous pouvez également faire le raccourci bash -c "wmctrl -a chrome || google-chrome
||
signifie que si la première commande échoue, exécutez la seconde.
Essayez ces instructions (testé):
xprop | grep WM_CLASS
bash -c "wmctrl -xa <WM_CLASS> || <WM_CLASS>"
bash -c "wmctrl -xa google-chrome || google-chrome
J'ai directement le raccourci clavier suivant:
# Focus Chrome if it's running, start it otherwise.
sh -c "if test $(wmctrl -vxa chrome 2>&1 | wc -l) -eq 1; then google-chrome; fi"
J'ai utilisé l'approche d'OlivierBlanvillain mais modifié pour un résultat spécifique:
J'ai voulu F12 pour basculer entre Chrome ou mon terminal, en fonction de ce qui était ciblé. J'utilise xdotool en plus de wmctrl.
if [[ $(xdotool getwindowfocus getwindowname) == *Google\ Chrome ]]; then wmctrl -a terminal; else wmctrl -a chrome; fi
Je l'ai presque.
Créé /usr/local/bin/go
(Sudo vim /usr/local/bin/go
) avec ces lignes:
#!/bin/bash
if wmctrl -l | grep -i --quiet "${1}"; then
wmctrl -a ${1}
else
${1}
fi
Le rend exécutable: Sudo chmod ugo+x /usr/local/bin/go
Et ajouté quelques raccourcis au système:
Nom: Firefox
Commande: go firefox
via Super + F
Mais Firefox ne se présente pas. Via la console, il agit comme il se doit.