У меня возникают проблемы с пониманием того, как на самом деле работает механизм компоновки AwesomeWM
Макет представляет собой таблицу с двумя записями:
name
являетсястрока, содержащая, в общем, имя макета arrange
- это функция, которая вызывается для организации видимых клиентов
Так что вам действительно нужно написать arrange
функция, которая организует клиентов так, как вы хотите.Аргумент этой функции - результат awful.layout.parameters
, но вам действительно нужно позаботиться о
.clients
- это список клиентов, которые должны быть упорядочены. .workarea
- это доступное пространство для клиентов. .geometries
- это место, где ваш макет записывает назначенные геометрии клиентов
Я бы порекомендовал прочитать некоторые из существующих макетов, чтобы увидетькак они работаютНапример, макет max
так же прост:
function(p)
for _, c in pairs(p.clients) do
p.geometries[c] = {
x = p.workarea.x,
y = p.workarea.y,
width = p.workarea.width,
height = p.workarea.height
}
end
end
Должен ли я написать свой собственный?Могу ли я использовать гибкий макет и указать позицию для клиента?
Что ж, вышеприведенный подход заключается в написании собственного макета.В качестве альтернативы вы также можете сделать ваши клиенты плавающими и назначить им геометрию через awful.rules
.Просто имейте properties = { floating = true, geometry = { x = 42, y = 42, width = 42, height = 42 } }
.Однако с этим вы можете, например, случайно переместить одного из ваших клиентов.
Каков рекомендуемый правильный способ достижения моей цели?
Выберите один.нет "только одного правильного ответа".