Подтвердить что ты не робот

Как программно переключиться на конкретное окно в compiz?

Есть ли команда, чтобы передать компиляцию, которую мы хотим перенести, и установить фокус на конкретное окно? Как определить окно в этой команде?

причина позади этого вопроса - следующий прецедент:

Предположим, что у нас есть вики, чтобы вести заметки о чем-либо интересном, что мы узнаем. Было бы очень удобно иметь комбинацию клавиш, чтобы довести окно браузера с нашей страницей Wiki впереди и начать вводить сразу же с помощью другого переключателя комбинации клавиш в приложение, над которым мы работали до

Я знаю, что ALT + TAB переключается между двумя последними используемыми окнами, но не может поддерживать более сложные комбинации приложений. Браузер + Eclipse + Wiki

Если есть команда, подобная описанной, легко добавить ярлык к ней из интерфейса KDE или GNOME

4b9b3361

Ответ 1

То, что вы ищете, это wmctrl. Например, добавьте комбинацию клавиш для вызова команды типа

wmctrl -Fa 'Wiki - Google Chrome'

чтобы поднять и активировать окно с этим заголовком.

Существуют разные способы выбора окна по названию, идентификатору и т.д. См. man wmctrl. Список окон можно получить с помощью

$ wmctrl -l

Я не пробовал его с помощью compiz, но wmctrl должен работать для любого оконного менеджера, совместимого с EWMH.

Ответ 2

Это сработало для меня с Compiz:

xdotool windowactivate `xdotool search --onlyvisible --class firefox`

Ответ 3

Вы хотите отправить сообщение клиента _NET_ACTIVE_WINDOW в корневое окно. Это предупредит любого совместимого диспетчера окон (включая Compiz), который вы запрашиваете, чтобы активировать определенное окно.

Смотрите спецификацию EWMH, в частности раздел на _NET_ACTIVE_WINDOW.

Обратите внимание, что в зависимости от конфигурации диспетчера окон он может отказать в соблюдении вашего запроса или дать пользователю возможность проигнорировать его.

Ответ 4

Я нашел эту веб-страницу, в которой есть пример исходной программы, которую вы могли бы скомпилировать, которая приведет к тому, чтобы окно X было спереди.

Ключом является функция X11 XRaiseWindow.

Я предполагаю, что было бы довольно легко написать небольшую программу и либо написать оболочку script, либо просто сделать программу самой надежной, а затем установить Compiz для присоединения к глобальному сокращению клавиш.

Ответ 5

Плагин Widget может делать то, что вы описываете.

  • Настройте плагин Widget, чтобы отметить нужные окна в виде виджетов (например, путем сопоставления имени или роли окна).
  • Настройте плагин Window Rules, чтобы окна виджета присутствовали на всех рабочих пространствах (липкие) и чтобы пропустить панель задач.

См. http://wiki.compiz.org/Plugins/Widget