Как описано здесь (askubuntu.com/questions/234206/shortcut-to-switch-to-app/328842) wmctrl
дает вам доступ к вашим окнам. Таким образом, вы можете переключаться с помощью клавиатуры. Но мне нравится открывать и фокусировать один ярлык, если он еще открыт.
Есть ли инструмент для этого?
Еще одно решение.
Удостоверьтесь, что у Вас есть установленный wmctrl: sudo apt install wmctrl
Сделайте ярлык с командой: bash -c "wmctrl -a chrome ; [ "$?" == "1" ] && google-chrome"
Объяснение: сначала мы пытаемся сфокусироваться на хроме (wmctrl -vxa chrome
), затем мы проверяем, являемся ли мы успешным "$?" == "0" или не "$?" == "1" и если не мы затем запускаем Google Chrome ([ "$?" == "1" ] && google-chrome"
).
Вы также могли сделать ярлык bash -c "wmctrl -a chrome || google-chrome
||
средства, если первый сбой команды, выполните второе.
У меня есть следующее непосредственно как сочетание клавиш:
# 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"
Я использовал подход Оливье Бланвилена, но изменил его для конкретного результата:
Я хотел, чтобы F12 kbd> переключался между Chrome или моим терминалом, в зависимости от того, на чем фокусировался. Я использую xdotool в дополнение к wmctrl.
if [[ $(xdotool getwindowfocus getwindowname) == *Google\ Chrome ]]; then wmctrl -a terminal; else wmctrl -a chrome; fi
Понял.
Создано /usr/local/bin/go
(sudo vim /usr/local/bin/go
) со следующими строками:
#!/bin/bash
if wmctrl -l | grep -i --quiet "${1}"; then
wmctrl -a ${1}
else
${1}
fi
Сделано исполняемым: sudo chmod ugo+x /usr/local/bin/go
И добавлено несколько ярлыков в систему:
[ 1110] Имя:Firefox
Команда: go firefox
через Super + F
Но Firefox не появляется. Через консоль он действует так, как и должен.
Попробуйте эти инструкции (, протестировал ):
xprop | grep WM_CLASS
bash -c "wmctrl -xa <WM_CLASS> || <WM_CLASS>"
bash -c "wmctrl -xa google-chrome || google-chrome