Ну, во-первых, старая конструкция вполне может работать. Проверяли?
Во-вторых, давайте разбираться.
В старой конструкции у Вас есть два массива c тегами и макетами.
И далее в цикле для каждого монитора вызывается свой набор тегов.
В новой конструкции всего один массив с тегами/макетами и если s - это по-прежнему монитор, стало быть, он тоже один.
Вывод: для второго монитора нужно создать ещё один массив.
Если делать через цикл, то получится примерно то же самое, что и раньше.
В awesome имеется два варианта синтаксиса: декларативный (declarative layout system - более новый) и императивный (imperative layout system - более старый). Насколько я понял из документации и того, что встречалось в Сети, использоваться могут оба варианта.
FAQ на сайте awesome дает такой ответ на вопрос об экранах и тегах:
то есть, практически по старой схеме.How to setup different tags and layouts per screen?
Another demonstration for your tag section:
At the beginning of rc.lua:
Then later to create tags:Код: Выделить всё
layouts = awful.layout.layouts tags = { settings = { { names = { "www", "editor", "mail", "im" }, layout = { layouts[2], layouts[1], layouts[1], layouts[4] } }, { names = { "rss", 6, 7, "media" }, layout = { layouts[3], layouts[2], layouts[2], layouts[5] } }}}
Код: Выделить всё
tags[s] = awful.tag(tags.settings[s.index].names, s, tags.settings[s.index].layout)
Поэтому, полагаю, что Ваша старая настройка должна работать.
А если уж очень-очень хочется "по-новому", то есть класс screen, который позволяет оперировать "экранами".
У меня нет двух мониторов, проверить не на чем, поэтому всё чисто теоретически.