look-at — менеджер фокуса

в 14:10, , рубрики: command line, linux, python, Ubuntu, xorg, ненормальное программирование, метки: , , ,

Что такое 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Утилита look-at создана для того, чтобы управлять окнами приложений быстро, точно и правильно, не прибегая к методу мышиного тыка. Она написана на популярном языке python (2.5-2.7, 3.2, pypy), и это открывает практически безграничные возможности для настройки, а так же исправления багов.

Как установить?

Пакеты для пользователей 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 принимает единственный аргумент — название приложения. Если оно уже запущено, то утилита переключит в окно, которое использовалось последним (если еще нет — запустит). Повторный запуск с тем же аргументом переключит в следующее окно приложения:
look at — менеджер фокуса

Теперь можете писать хитроумные скрипты, например, в поддержку техники 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

Откройте вкладку «Команды» и добавьте нужные приложения:
look at — менеджер фокуса

На вкладке «Комбинации клавиш» назначьте удобные сочетания:
look at — менеджер фокуса
… и так для каждой команды.

Полезные ссылки:

GitHub: github.com/generalov/look-at
PyPI: pypi.python.org/pypi/look-at/
wmctrl: tomas.styblo.name/wmctrl/

Вопросы

* Можно-ли работать с окнами быстрее, нежели запуская wmctrl?
* Почему на скриншотах многие видят ШГ, хотя у меня всё в порядке?

Автор: funca

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js