web-dev-qa-db-fra.com

Focus ou ouverture de la fenêtre dans gnome sur un raccourci clavier

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?

3
LeMike

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.

2
desgua

Essayez ces instructions (testé):

  • D'abord, obtenez WM_CLASS nom de l'application xprop | grep WM_CLASS
  • Ensuite, créez un raccourci bash -c "wmctrl -xa <WM_CLASS> || <WM_CLASS>"
  • Par exemple: bash -c "wmctrl -xa google-chrome || google-chrome
1
Yedhrab

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"
1
OlivierBlanvillain

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
0
jared

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.

0
LeMike