Keybindings and numeric pad/ru

Введение
Цифровая клавиатура используется редко, и вы можете легко определеить ее использование, если у вас есть 9 тегов и 9 ключей. The numeric pad is seldom used, and useful key bindings can easily be defined if you have 9 tags and 9 keys. На этой странице описываются примеры использования цифоровой клавиатуры для "переключения тегов" и "отображения персонализированного меню", но если вы уже знакомы с awesome можете перейти в итоговый раздел в конец страницы и посмотреть конкретый результат.

Переключение на конкретный тег
Показан способ переключения на конкретный тег, связывющий клавишу KP_End с тегом:

awful.key({ }, "KP_End", function awful.tag.viewonly(tags[mouse.screen][1]) end),

Нажатие клавиши 1 (с символом end) отобразит тег с номером 1.

Переход к тегу и отображение меню соотвестующее этому тегу
Обычно, одним из первых действия, при конфигурировании Awesome, является присваивание тегам собственных названий. Например:

tags = {} for s = 1, screen.count do    -- Each screen has its own tag table. tags[s] = awful.tag({ "File", "Mail", "Off", "FF", "Sys", "Oci", "Chro", "Net", "Aw" }, s, layouts[1]) end

Название тега обычно связывается с действиями которые будут в нем производиться; действия часто связанные с подразделом главного меню. Например, в главном меню вы можете иметь подменю со следующими элементами:

Menu_File = { {"&1_vifm", "urxvtc -e vifm"}, {"&2_Muntar usb", "urxvtc -e /usr/local/bin/Munta.sh usb" } }

Это подменю сязанное с действиям с файлами, может быть легко преобразованно в свое собственное меню:

M_File = awful.menu ( 	{items = Menu_File} )

Хорошо. Давайте настрим переход на ныжный тег и отображение ассоциированного с ним меню используя Shift-KP_End:

awful.key({ "Shift" }, "KP_End", function  	awful.tag.viewonly(tags[mouse.screen][1]) 	M_File:show({keygrabber=true})  end),

Вы возмжно уже обратили внимание на то, что каждый элемент меню пронумерован и ему предшествует амперсанд (&). Если часто используемые элементы располагаются выше в меню, нажатие Shift-KP_End и 1 выдаст наиболее используемые элементы в теге.

Отображение меню без перключения на тег
Иногда может возникнуть ситуация, когда вам потребуется отобразиться связанное с тегом меню, без переключения на него. Давайте свяжем его с клавишей ctrl:

awful.key({ "Control" }, "KP_End", function  	M_File:show({keygrabber=true})  end)

Собираем все в единый код
Другие оконные менеджеры могут более или менне легко иметь множественные меню и "переключаться на рабочее пространство и отображать связанное с ним меню". В awesome вы тоже можете сделать это написав лишь несколько строк кода на Lua:

-- Определяем клавиши и меню в таблице lua Numeric_Pad = { "KP_End", "KP_Down", "KP_Next", "KP_Left", "KP_Begin", "KP_Right", "KP_Home", "KP_Up", "KP_Prior" } Menu_Table = { M_File, M_Mail, M_Office, M_Fox, M_Sys, M_Oci, M_Chrome, M_Xarxa, M_Awesome } -- Ассоциируем каждый тег(от 1 до 9) с сооветсвующей клавишей на цифровой клавиатуре, а также с меню (Menu_Table) for i = 1, 9 do    globalkeys = awful.util.table.join(globalkeys, 	-- Переключаемся на тег использую цифровую клавиатуру 	awful.key({ }, Numeric_Pad[i], function  awful.tag.viewonly(tags[mouse.screen][i]) end), 	-- переключается на тег и отображаем меню дополнительно нажав Shift  	awful.key({ "Shift" }, Numeric_Pad[i], function awful.tag.viewonly(tags[mouse.screen][i]) Menu_Table[i]:show({keygrabber=true}) end), 	-- Отображение меню конкретного тега, без переключения на него нажимая Contol+клавиша цифровой клавиатуры 	awful.key({ "Control" }, Numeric_Pad[i], function Menu_Table[i]:show({keygrabber=true}) end) 	) end

Готово!

Смотрите также

 * Полная rc.lua рабочая конфигурация использующая этот пример на GitHub.