Как программно переключиться на конкретное окно в compiz?
Есть ли команда, чтобы передать компиляцию, которую мы хотим перенести, и установить фокус на конкретное окно?
Как определить окно в этой команде?
причина позади этого вопроса - следующий прецедент:
Предположим, что у нас есть вики, чтобы вести заметки о чем-либо интересном, что мы узнаем. Было бы очень удобно иметь комбинацию клавиш, чтобы довести окно браузера с нашей страницей Wiki впереди и начать вводить сразу же с помощью другого переключателя комбинации клавиш в приложение, над которым мы работали до
Я знаю, что ALT + TAB переключается между двумя последними используемыми окнами, но не может поддерживать более сложные комбинации приложений. Браузер + Eclipse + Wiki
Если есть команда, подобная описанной, легко добавить ярлык к ней из интерфейса KDE или GNOME
Ответы
Ответ 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