Сфокусировать или открыть окно в гноме по сочетанию клавиш

Как описано здесь (askubuntu.com/questions/234206/shortcut-to-switch-to-app/328842) wmctrl дает вам доступ к вашим окнам. Таким образом, вы можете переключаться с помощью клавиатуры. Но мне нравится открывать и фокусировать один ярлык, если он еще открыт.

Есть ли инструмент для этого?

3
задан 5 August 2013 в 14:15

5 ответов

Еще одно решение.

Удостоверьтесь, что у Вас есть установленный 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

|| средства, если первый сбой команды, выполните второе.

2
ответ дан 5 August 2013 в 14:15

У меня есть следующее непосредственно как сочетание клавиш:

#                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"
0
ответ дан 5 August 2013 в 14:15

Я использовал подход Оливье Бланвилена, но изменил его для конкретного результата:

Я хотел, чтобы F12 переключался между Chrome или моим терминалом, в зависимости от того, на чем фокусировался. Я использую xdotool в дополнение к wmctrl.

if [[ $(xdotool getwindowfocus getwindowname) == *Google\ Chrome ]]; then wmctrl -a terminal; else wmctrl -a chrome; fi
0
ответ дан 5 August 2013 в 14:15

Понял.

Создано /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 не появляется. Через консоль он действует так, как и должен.

0
ответ дан 5 August 2013 в 14:15

Попробуйте эти инструкции (, протестировал ):

  • Первый добираются , название WM_CLASS приложения xprop | grep WM_CLASS
  • Затем делает ярлык bash -c "wmctrl -xa <WM_CLASS> || <WM_CLASS>"
  • , Например: bash -c "wmctrl -xa google-chrome || google-chrome
1
ответ дан 10 October 2019 в 15:38

Другие вопросы по тегам:

Похожие вопросы: