LINUX.ORG.RU

[awesome] Сделать окна всегда master

 


0

2

Здравствуйте! Подскажите решение. Хочу, что бы контакт-листы skype и pidgin при запуске становились master и все диалоговые окна открывались после них в тайлинге? И заодно ширина master области уменьшалась относительно стандартной, и количество колонок в stack-области устанавливалось-2. Подскажите как?

Для пиджина я прописал следующее:

{ rule = { class = "Pidgin", role = "buddy_list" },
  properties = { tag = tags[1][3] } },

{ rule = { class = "Pidgin", role = "conversation" },
  properties = { tag = tags[1][3] }, callback = awful.client.setslave }
awful.tag.setncol(1, tags[1][3])
awful.tag.setnmaster (1, tags[1][3])
awful.tag.setproperty(tags[1][3], "mwfact", 0.20)

В итоге получаем, что список контактов всегда на месте (справа, с одной и той же шириной), а окна диалогов открываются в тайлинге.

neocrust ★★★★★
()
Ответ на: комментарий от neocrust

Большое спасибо! Со скайпом такое не проходит, потому что он QT? у него нет значения «role».

Вы сами это «сочинили» у меня вопрос как у пытающегося познать дзен awesome. Вот по «командам»

awful.tag.setncol(1, tags[1][3])
awful.tag.setnmaster (1, tags[1][3])

все как бы понятно- в вики есть описание более или менее понятное, а вот с этим

awful.tag.setproperty(tags[1][3], "mwfact", 0.20)

в вики написано:

setproperty (tag, prop, value)
Set a tag property. This properties are internal to awful. Some are used to draw taglist, or to handle layout, etc.
Parameters
tag: The tag.
prop: The property name.
value: The value.

Где вы нашли что написать в поле «prop»? для ширины мастер-зоны? тоже самое и про

{ rule = { class = "Pidgin", role = "conversation" },
  properties = { tag = tags[1][3] }, callback = awful.client.setslave }

я в вики видел что есть функция awful.client.setslave но откуда можно узнать КАК ее вызвать? Почему ее значение нужно записать в ячейку «callback». PS про Lua книжку читаю как раз в районе параграфа functions

Pupizoid
() автор топика
Ответ на: комментарий от Pupizoid

Pupizoid

mwfact

ЕМНИП, в дефолтном конфиге есть изменение этого property. Если не ошибаюсь --- ширина master-окна.

Pupizoid

я в вики видел что есть функция awful.client.setslave но откуда можно узнать КАК ее вызвать? Почему ее значение нужно записать в ячейку «callback». PS про Lua книжку читаю как раз в районе параграфа functions

Это не вызов функции, это через правила для окон указывается, что для удовлетворяещему параметрам окна нужно вызвать эту функцию. Само понятие callback-функции заключается в том, что вызывать определённую функцию(и) по какому-либо событию.

do0dlez ★★
()
Ответ на: комментарий от do0dlez

Спасибо за пояснения. А callback это универсальное понятие какое то? в книге про lua пока это не встречал. Где можно почитать про эти «всем известные понятия». mwfact нашел только в назначении хоткея уменьшения мастер-окна и то оно там неявно указано:

awful.key({ modkey,           }, "l",     function () awful.tag.incmwfact( 0.05)    end),
Вообще читая Lua programming приходит понимание самого языка, а вот алгоритм работы того же конфига rc.lua мне остается не понятен. Как «увидеть» «схему» работы awesome? P.S. Не программист я...

Pupizoid
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.