tag.lua: add() create tags with full table of properties
tag.add(name, props): make tags and pass a table of properties to apply to it tag.new: modified to use add() instead of calling capi.tag Signed-off-by: Perry Hargrave <perry.hargrave@gmail.com> Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
parent
77e39a5f07
commit
2f3f84c994
|
@ -52,6 +52,22 @@ function move(new_index, target_tag)
|
||||||
capi.screen[scr]:tags(tmp_tags)
|
capi.screen[scr]:tags(tmp_tags)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Add a tag.
|
||||||
|
-- @param name The tag name, a string
|
||||||
|
-- @param props The tags properties, a table
|
||||||
|
-- @return The created tag
|
||||||
|
function add(name, props)
|
||||||
|
local properties = props or {}
|
||||||
|
local newtag = capi.tag{name = name}
|
||||||
|
newtag.screen = properties.screen or capi.mouse.screen
|
||||||
|
|
||||||
|
for k, v in pairs(properties) do
|
||||||
|
setproperty(newtag, k, v)
|
||||||
|
end
|
||||||
|
|
||||||
|
return newtag
|
||||||
|
end
|
||||||
|
|
||||||
--- Create a set of tags and attach it to a screen.
|
--- Create a set of tags and attach it to a screen.
|
||||||
-- @param names The tag name, in a table
|
-- @param names The tag name, in a table
|
||||||
-- @param screen The tag screen, or 1 if not set.
|
-- @param screen The tag screen, or 1 if not set.
|
||||||
|
@ -61,14 +77,15 @@ function new(names, screen, layout)
|
||||||
local screen = screen or 1
|
local screen = screen or 1
|
||||||
local tags = {}
|
local tags = {}
|
||||||
for id, name in ipairs(names) do
|
for id, name in ipairs(names) do
|
||||||
tags[#tags + 1] = capi.tag { name = name }
|
table.insert(tags, id, add(name, {screen = screen,
|
||||||
tags[#tags].screen = screen
|
layout = (layout and layout[id]) or
|
||||||
|
layout}))
|
||||||
-- Select the first tag.
|
-- Select the first tag.
|
||||||
if id == 1 then
|
if id == 1 then
|
||||||
tags[#tags].selected = true
|
tags[id].selected = true
|
||||||
end
|
end
|
||||||
setproperty(tags[#tags], "layout", layout and (layout[#tags] or layout[1]) or layout)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return tags
|
return tags
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue