Scratchpad manager/ru

Scratch это модуль Lua, который обеспечивает основу для выпадающих приложений и scratchpad manager для awesome.

Примечание переводчика:Scratch сложно адекватно перевести на русский, наиболее близкое понятие это - черновик, поэтому в тексте оставлено оригинальное название.

Введение
Пользователи Awesome v2 знакомы с фунциональностью scratchpad. Этот модуль старается остаться таким же как и v2 scratchpad. Ранее awesome v2 обеспечивал функции client_setscratch и client_togglescratch, этот модуль также обеспечивает эти две функции; scratch.pad.set и scratch.pad.toggle. Для тех, кто никогда не использовал scratchpad в awesome scratchpad ниже небольшое описание:


 * Вызов функции set для приложения, автоматически размещает его по центру экрана и устанавливает ему floating режим. В данном случае функция обрабатывает окно находящееся в фокусе ввода.
 * Также можно установить другие свойства для приложения, такие как размер, липкость и экран
 * Вызов функции toggle скрывает прилоежние, или наоборот отображает его, в зависимости от состояния, когда scratch не пустой
 * Вызов функции set на scratched приложении делает его un-scratch, и помещает его к другим приложениям. Если в это время изменится фокус ввода на другое окно, то при повторном вызове функции set произойдет замена scratch

Примечание: Вы не можете scratch несколько приложений с помощью этого модуля, т.к. не поддерживается табуляция (tabbing) в awful, или других альтернативных библиотеках.

Также модуль содержит менеджер выпадающих(drop-down) приложений, модуль scratch.drop. Модуль переключает видимость ваших избранных терминалов, запускаемых приложений, таких как gmrun или дургих приложений, располагая их вдоль края экрана, когда они отображены. Эта фунциональность хорошо знакома тем, кто играл в игры наподобие Quake. Когда вы вызываете scratch.drop для какого либо приложения, это создает новое окно для него, если оно еще не существует, и переключает между скрытым и видимым состоянием если оно уже существует, размещая его вдоль определенного края экрана.

Зазгузка
Awesome 3.5 Scratch располагается по адресу http://git.sysphere.org/awesome-configs/tree/

Awesome ранее 3.5 https://github.com/colbell/awesome-wm/tree/master/scratch

после скачивания, каталог с модулем необходимо переместить в каталог с awesome:

$ mv scratch $XDG_CONFIG_HOME/awesome/

Использование
Для использования этого модуля требуется разместить его вызов в начале вашего rc.lua:

Awesome 3.5 local scratch = require("scratch") Awesome <3.5 require("scratch")

Использование scratchpad
Вызовите функцию set из секции клавиатурных сочетаний clientkeys:

scratch.pad.set(c, width, height, sticky, screen)

... и функцию toggle из секции globalkeys:

scratch.pad.toggle(screen)

Параметры:

c     - Client to scratch or un-scratch width - Ширина в абсолютных пикселях, или процентах где ширина <= 1 (0.50 (50% экрана) по умолчанию) height - Высота в аболютных пикселях, или процентах где высота <= 1 (0.50 (50% экрана) по умолчанию) sticky - Видимость на всех тегах, по умолчанию false screen - отображать на экране, по умолчанию mouse.screen

Пример
Вызовите функцию toggle в секции globalkeys:

awful.key({ modkey }, "s", function scratch.pad.toggle end),

Вызовите функцию set в секцииclientkeys:

awful.key({ modkey }, "d", function (c) scratch.pad.set(c, 0.60, 0.60, true) end),

Использование scratchdrop
Вызовите scratch.drop в сочетании клавиш секции globalkeys:

scratch.drop(prog, vert, horiz, width, height, sticky, screen)

Параметры:

prog  - Запускаемая программа; "urxvt", "gmrun", "thunderbird" vert  - Расположение по вертикали; "bottom", "center" или "top" (по умолчанию) horiz - Расположение по горизонтали; "left", "right" или "center" (по умолчанию) width - Ширина в абослютных пикселях, или процентах где ширина <= 1 (1 (100% экрана) по умолчанию) height - Высота в абослютных пикселях, или процентах где высота <= 1 (0.25 (25% экрана) по умолчанию) sticky - Видимость на всех тегах, по умолчанию false screen - Видимость на экране, по умолчанию = mouse.screen

Примеры
Вызов scratch.drop в секции globalkeys:

awful.key({ modkey }, "F11", function scratch.drop("gmrun") end), awful.key({ modkey }, "F12", function scratch.drop("urxvt", "bottom") end),