четверг, 20 июня 2013 г.

Быстрое переключение на любой рабочий стол

Одним из новшеств GNOME Shell стало динамическое создание рабочих столов. Теперь их количество ограничено только вашими потребностями, а в силу принципа "одно приложение - один рабочий стол" при активной работе воркспейсов становится много (например, сейчас на рабочем компе у меня их 7) и переключатся между ними с помощью комбинации Ctrl+Alt+Arrow становится сложно. По умолчанию, мы можем задать хоткеи для 4 рабочих столов. Под катом я расскажу как задать хоткеи для произвольного числа рабочих столов.


Для начала ставим пакет wmctrl.

После этого идем в Системные параметры -> Клавиатура -> Комбинации клавиш. В разделе Перемещение задаем комбинации для первых четырех рабочих столов. Себе, по аналогии с переключением на соседние воркспейсы, сделал Ctrl+Alt+Num.

По окончании жмем плюсик в нижней части окна. В качестве имени команды вводим "Переключиться на рабочее место N", где N - это номер рабочего стола для которого создаем комбо. В качестве команды задаем wmctrl -s N-1. Применяем. Задаем комбинацию для новой команды. Повторяем операцию для необходимого количества рабочих столов. Я повесил на все цифры и надеюсь мне хватит. Больше 10 рабочих столов - это уже попахивает безумием)

Вообще функционал wmctrl далеко не ограничивается переключением рабочих столов по номеру и, если с ней немного поиграть, то можно придумать еще много интересных хоткеев. Если нашли для себя удобную команду - пишите, пожалуйста, в комментариях.

P.S.: в виде офтопика, замечу, что число 4 видимо досталось GNOME3 вместе с прочим legacy от GNOME2, т.к. при перезагрузке GNOME Shell все приложения случайным образом укладываются в 4 рабочих стола вне зависимости от того сколько их было до этого. Когда я, наконец, приведу в смотрибельный вид моё расширение, то расскажу как много этого legacy спрятано под тонким слоем симпатичного JavaScript в GNOME Shell.