wmctrl && xdotool в качестве сочетания клавиш [дубликат]

В моем рабочем процессе я всегда иметь вкладку 1-3 хрома как конкретные страницы, которые никогда не меняются.

Я хочу создать сочетание клавиш для перехода ко второй вкладке с помощью Super + Shift + S .

Если я выполню следующий сценарий bash из терминала, он продолжит вести себя так, как ожидалось, но когда я привяжу его к привязке клавиш из настроек сочетания клавиш в графическом интерфейсе, он сфокусируется только на Chrome, но не перейдет ко второй команде.

wmctrl -a chrome && xdotool key Ctrl + 2

Любая помощь будет принята с благодарностью.

2
задан 24 February 2019 в 11:40

1 ответ

Попытайтесь вставить сон между wmctrl и xdotool как это:

wmctrl -a " Google Chrome" && sleep 0.5s && xdotool key Ctrl+2

Можно играть с увеличением/уменьшением значения сна в случае необходимости.

Вы могли также сделать свою команду немного более конкретной путем замены "хрома", по крайней мере, "-Google Chrome". Тем путем возможности wmctrl выбор неправильного окна для повышения до фокуса будут уменьшены. Другими словами, чем дольше строка, тем менее случайное существует, что wmctrl может повысить и сфокусировать окно некоторого другого приложения, которое просто, оказывается, имеет "хром" в заголовке, как замечено wmctrl -l или wmctrl -lx.


Маршрут с помощью только xdotool, но все еще требуя сна является этим:

xdotool search --name " - Google Chrome" windowactivate %1 && sleep 0.5s && xdotool key Ctrl+2

Примечания:

  • Ре. значение сна, я не уменьшил бы его до минимума, который, кажется, работает, но сохраняет его настолько же высоко как удобный в течение времен когда Ваша система, возможно, с помощью ресурсов для других целей.
  • если никакие единицы не указаны для сна, значение по умолчанию является секундами, но мне нравится включать s в любом случае.
  • основание для требования сна при использовании сочетания клавиш для выполнения сценариев/команд, включающих xdotool, объяснено в этом ответе.
2
ответ дан 2 December 2019 в 03:29

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

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