КДЕ. Долой мышекликательство, даёшь мышедвигательство!

Что такое GUI в понимании среднестатистического пользователя и чем он так приелся? В понимании того самого пользователя это интерфейс, в котором есть окошки и кнопочки, а так же специальный указать, который надо наводить на эти самые окошки и кнопочки при помощи манипулятора типа мышь и кликать по ним какой-то из кнопок указанного манипулятора. Посему наши доблестные пользователи, судорожно вцепившись в несчастное животное, пыхтя и наматывая километры мушепути старательно целятся в кнопки разных размеров, форм и положений. И ладно если у них за плечами пара лет чемпионатов по Quake и они могут попасть в заветный пиксель с той же точностью, с которой зашибают фраги из реилгана, а если нет?

Ну ладно, многим невдомёк, что практически у всех программ есть возможность делать те же действия нажатием клавишь на клавиатуре. Впрочем, есть и те, кто считают, что клавиатура это фи, а все передовые технологии взаимодействия с компьютером сосредоточены в мышке. Я этого не понимал и активно изучал возможности клавиатуры, попутно уча емакс варить кофе.

Первое «ух-ты» случилось, когда я наткнулся на дополнение для Firefox под названием FireGestures. Аддон позволяет при помощи движений мыши управлять браузером, в том числе переходить назад и вперёд по истории, открывать и закрывать вкладки, обновлять страницы и многое другое, список довольно большой. Сами жесты задаются как направления движения мыши, например UD это Up-Down (Вверх-Вниз) и по умолчанию означают «обновить страницу». После появления этого аддона с лица, вернее интерфейса, моего Лиса исчезли почти все кнопки, а адресная строка научилась скрываться из виду (аддон HideNavBar).

Второе «ух-ты» случилось в общем-то раньше, когда товарищ показал эту возможность, но всю его «ух-ты»лость я начал осознавать только после нескольких месяцев брожения по интернету одной только мышкой. В КДЕ, уж не знаю с какой версии, в 4.4 оно точно было, в системных настройках есть пункт «Shortcut and gestures» (Комбинации клавиш и Росчерки). В Gnome что-то подобное тоже должно быть, но его под рукой нет.

Настраиваем росчерк мыши.

Заходим в «Настройки Системы» — «Комбинации клавиш и Росчерки» и жмём кнопку «Настройка»:

Специальные действия, настроки

Тут нам предлагается настроить службу запуска действий. Всё просто до безобразия, разве что кнопка мышки настраивается по номеру 1-левая, 2-средняя, 3-правая. Если у вас игровая мышка с кучей кнопок, то там уже экспериментами. На моей боковая левая кнопка оказалась под номером 8.
В данном конкретном случае при зажатии правой кнопки мыши мы можем чертить наши жесты. Если мы в течении 300мс не начинаем их чертить, система перестаёт их ждать и выдаёт контекстное меню, как и ожидалось.

Теперь давайте настроим какой-нибудь жест для управления приложением, например жест для команды «Выход». Для начала нам нужно создать группу — жмём «Изменить»—«Создать группу». Так же есть возможность создавать подгруппы, если выбрать уже сущестующую группу, но нам щас нужна своя отдельная группа.

Добавление группы

Обзываем нашу группу, например «Управление», оно автоматом будет выделено. Теперь нам нужно «Изменить»-«Добавить»-«Росчерк мышью»-«Имитация ввода с клавиатуры», поскольку это самый простой способ задать действия для окна приложения и для начала вполне достаточный. Задаём ему имя «Выход». В закладке «Каментарий» лучше написать что-то вменяемое, но можно и не писать.

В закладке «Активация» жмём «Изменить» и в появившемся окошке, зажав левую кнопку мыши (не зависит от настройки) жестикулируем нужный жест, например:

Жест для действия «Выход»

Движение мыши записывается от зелёного к синему, так что мой жест соответствует FireGesture’овскому URD, который означает закрыть окно.

Далее нужно задать «Действие» по этому жесту. Мы будем его делать для активного окна, а стандартная комбинация клавишь для выхода «Ctrl+Q», так и пишем, буквами, Цэ-тэ-эр-эл-плюс-Ку:

Назначение действия на росчерк.

Теперь нужно нажать «Применить» и не забыть проставить галочку напротив нашей группы «Управление» и действия «Выход».

Можно тестировать, но есть одна загвоздка, это действие будет работать на все программы без исключения, включая Firefox и перехватывая росчерки до того, как они попадут к нашему аддону. Причём, как это ни прискорбно, но жесты оно будет перехватывать все, а исполнять только те, которым её научили.

Настраиваем условия для группы.

Условия запуска группы.

Если мы посмотрим на закладку «Условия» в группе действий, то увидим, что там при помощи логических операторов (И, ИЛИ, НЕ) можно прописать приложения (запущенные или активные в данный момент), при которых данная группа действий будет запускаться, или не запускаться.

В случае с этим примером, хочется, чтобы данная группа действий не запускалась, если активным является окно Mozilla Firefox. То есть это должна быть запись «И НЕ Активное окно: Mozilla Firefox». Для этого мы жмём «Добавить»-«Не», выбираем появившееся «Не» (иначе следующее действие добавится к «И») и выбираем «Добавить»-«Активное окно…». Появится диалоговое окно в котором нужно нажать «Добавить…» для появления следующего окошка:

Активное окно

Добавление нового активного окна.

В последнем окне можно нажать автоопределение и ткнуть по окну Firefox, оно само определит заголовок, класс и роль окна. Поскольку заголовок у Лиса зависит во многом от текущей страницы, лучше выбрать «Содержит» и стереть всё, кроме «Mozilla Firefox». И не забыть вписать комментарий:

Firefox определён.

После чего жмём «ОК», вписываем каментарий «Mozilla Firefox» и жмём «ОК» уже в этом окне:

Добавленное активное окно.

После чего наше условие выглядит как мы и написали:

Готовое условие.

Пользуйте в своё удовольствие.

Дальнейшие пути развития.

Программы весьма разнообразны и возможности у многих различаются. Например, некоторые программы имеют свои собственные вкладки, например Dolphin и Konsole, а некоторые умеют закрывать текущие документы не закрывая саму программу, как Офисы. Управляться с ними удобно созданием подгрупп с особыми условиями, например подгруппа «Программы с табами» в группе «Управление», в которой будет прописано условие «И Активное окно: Dolphin, Konsole», в котором определены жесты для работа с табами этих приложений, и подгруппа «Программы я документами» в той же группе «Управление», с условием «И Активное Окно: Офис», которое по тем же жестам будет вместо табов открывать и закрывать документы.

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

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

А ещё, такими жестами можно запускать приложения. Для этого нужно добавлять не «Имитацию ввода с клавиатуры», а «Команду или адрес» и вписать в «Действия» нужную команду на запуск приложения. Конечно, это в том случае, если у вас запуск приложений не задан клавиатурными сочетаниями.

Добавить комментарий