LINUX.ORG.RU

Как прописать правило для фиксированных окон?

 


0

1

Пытаюсь закрепить для примера три окна в теге 4. Чтобы они при запуске wm находились в определённом положении. Они появляются на теге 4, но как им заблагорассудится. Сейчас они запустились в одном положении, а при следующем запуске wm они будут в другом положении. Документацию читал, разное пробовал. Вот код: Что здесь не так?

    { rule = { class = "XWeeChat" },
        properties = { screen = 1, tag = "4", floating = false }, placement = awful.placement.bottom_left },
    { rule = { class = "XMail" },
        properties = { screen = 1, tag = "4", floating = false }, placement = awful.placement.top_left },
    { rule = { class = "XRSS" },
        properties = { screen = 1, tag = "4", floating = false }, placement = awful.placement.right },

version

awesome -v
awesome 4.3.g20230116-b54e50ad (Too long)
 • Compiled against Lua 5.3.6 (running with Lua 5.3)
 • API level: 4
 • D-Bus support: yes
 • xcb-errors support: yes
 • execinfo support: yes
 • xcb-randr version: 1.6
 • LGI version: 0.9.2
 • Transparency enabled: yes
 • Custom search paths: no
★★★★★

  1. awful.placement работает для плавающих клиентов, в тайлинге нужно работать с master/slave, но я уже не помню как, а найти в документации нужные функции/методы не смог.
  2. Терминалам с TUI-приложениям в них нужно присваивать уникальные class/role/instance, чтобы можно было рулить ими независимо от терминалов.

Например, xterm с weechat можно запускать так: xterm -name WeeChat -e weechat, это присвоит ему role "WeeChat". Не все терминалы умеют присваивать class, а по name придётся городить регулярки, которые имеют свойство отваливаться.

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

Терминалам с TUI-приложениям в них нужно присваивать уникальные class/role/instance

У меня они управляются независимо. Мой терминал xterm умеет присваивать class, так что у меня уже работают три разных правила. Не работает только часть с placement(размещение).

awful.placement работает для плавающих клиентов, в тайлинге нужно работать с master/slave

А если три окна или больше и в тайлинге получится несколько окон slave, можно для каждого окна slave настроить своё положение? Или это как-то работает по порядку запуска и каждое следующее окно сразу занимает ячейку, выделенную (схемой)layout?

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

Или это как-то работает по порядку запуска и каждое следующее окно сразу занимает ячейку, выделенную (схемой)layout?

Да. По умолчанию новое открытое окно занимает первый (если в master-секции несколько "мест") master. Можно сделать чтобы они занимали slave, но я не помню как (читай первый пункт в моём комментарии выше).

mord0d ★★★★★
()