From 20d15b8be6bbfc00d101d41da205e680e810207d Mon Sep 17 00:00:00 2001 From: Uli Schlachter Date: Tue, 20 Jun 2017 09:42:45 +0200 Subject: [PATCH] awful.tag.new: Handle too few given layouts When awful.tag.new() got a list of layouts shorter than the list of names, it would previously create tags with nil as their layout. This commit changes this so that the first layout is repeated if necessary. Related-to: https://github.com/awesomeWM/awesome/issues/1853 Signed-off-by: Uli Schlachter --- lib/awful/tag.lua | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/awful/tag.lua b/lib/awful/tag.lua index 431e8e6e..17ee0fb1 100644 --- a/lib/awful/tag.lua +++ b/lib/awful/tag.lua @@ -240,11 +240,15 @@ end -- @return A table with all created tags. function tag.new(names, screen, layout) screen = get_screen(screen or 1) + -- True if `layout` should be used as the layout of each created tag + local have_single_layout = (not layout) or (layout.arrange and layout.name) local tags = {} for id, name in ipairs(names) do - table.insert(tags, id, tag.add(name, {screen = screen, - layout = (layout and layout[id]) or - layout})) + local l = layout + if not have_single_layout then + l = layout[id] or layout[1] + end + table.insert(tags, id, tag.add(name, {screen = screen, layout = l})) -- Select the first tag. if id == 1 then tags[id].selected = true