Что такое look-at?
Это утилита, которая переключает фокус между окнами приложений из командной строки.
Зачем?
При работе с большим количеством открытых окон часто возникает проблема с тем, чтобы быстро переключиться в окно нужного приложения. Можно, конечно, применять сочетание клавиш Alt+Tab, но Ктулху вызвать проще. Гораздо удобнее использовать шоткаты. Например, Super+1 — и вы уже работаете с терминалом, Super+2 — и перед вами Firefox. Предлагаю вашему вниманию утилиту look-at, которая даёт возможность делать это (фанаты Unity — молчать!) практически в любом десктопе, где есть X.Org.
Как работает?
Известно, что практически в любом десктопе, где есть X.Org, содержится программа для настройки шоткатов, которая умеет запускать приложения. (Если вы думаете, что ваш – исключение, то читайте man xbindkeys). Проблема в том, что запускаемые приложения сами не всегда понимают, что делать с открытыми окнами и по команде то создают новый экземпляр (например, gnome-terminal), то не реагируют вообще, потому что, по их мнению, все, что можно, уже давно запущено (thunderbird). В общем, ведут себя совсем не так, как вы ожидаете.
![Fork me on GitHub](https://habrastorage.org/storage2/512/0a9/a46/5120a9a466e907c07c560edb1c9e1b70.png)
Как установить?
Пакеты для пользователей Ubuntu 12.04 живут здесь:
sudo apt-add-repository ppa:e15/ppa
sudo apt-get update
sudo apt-get install look-at
Предпочитаете другие дистрибутивы? Установите wmctrl, setuptools для python и выполните команду:
sudo easy_install look-at
Пользуйтесь!
Всё просто. Команда look-at принимает единственный аргумент — название приложения. Если оно уже запущено, то утилита переключит в окно, которое использовалось последним (если еще нет — запустит). Повторный запуск с тем же аргументом переключит в следующее окно приложения:
![](https://habrastorage.org/storage2/45a/9cb/790/45a9cb790b63ec92b9878c5692f9736d.png)
Теперь можете писать хитроумные скрипты, например, в поддержку техники pomodoro:
#!/bin/sh
WORK="gvim"
RELAX="firefox"
( while true; do look-at $WORK; sleep 25m; look-at $RELAX; sleep 5m; done ) & # =)
А как же быстрый доступ, спросите вы? Давайте разберёмся, как им пользоваться, на примере сompiz. Комбинации клавиш для быстрого доступа можно задать с помощью плагина «Команды», в менеджере настроек:
sudo apt-get install compizconfig-settings-manager
ccsm
Откройте вкладку «Команды» и добавьте нужные приложения:
![](https://habrastorage.org/storage2/7c3/3cd/168/7c33cd168e722af5ecad8268beccac8b.png)
На вкладке «Комбинации клавиш» назначьте удобные сочетания:
![](https://habrastorage.org/storage2/0a8/e33/300/0a8e333001ad4d89853c030d9cfc47ff.png)
… и так для каждой команды.
Полезные ссылки:
GitHub: github.com/generalov/look-at
PyPI: pypi.python.org/pypi/look-at
wmctrl: tomas.styblo.name/wmctrl
Вопросы
* Можно-ли работать с окнами быстрее, нежели запуская wmctrl?
* Почему на скриншотах многие видят ШГ, хотя у меня всё в порядке?