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 <[email protected]>
---
lib/awful/tag.lua.in | 27 +++++++++++++++++++++++----
1 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/lib/awful/tag.lua.in b/lib/awful/tag.lua.in
index a984ed5..9f229de 100644
--- a/lib/awful/tag.lua.in
+++ b/lib/awful/tag.lua.in
@@ -30,6 +30,24 @@ data.tags = setmetatable({}, { __mode = 'k' })
history = {}
history.limit = 20
+--- 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
+
+ if newtag ~= nil then
+ for k, v in pairs(properties) do
+ setproperty(newtag, k, v)
+ end
+ end
+
+ return newtag
+end
+
--- Create a set of tags and attach it to a screen.
-- @param names The tag name, in a table
-- @param screen The tag screen, or 1 if not set.
@@ -39,14 +57,15 @@ function new(names, screen, layout)
local screen = screen or 1
local tags = {}
for id, name in ipairs(names) do
- tags[#tags + 1] = capi.tag { name = name }
- tags[#tags].screen = screen
+ table.insert(tags, id, add(name, {screen = screen,
+ layout = (layout and layout[id]) or
+ layout}))
-- Select the first tag.
if id == 1 then
- tags[#tags].selected = true
+ tags[id].selected = true
end
- setproperty(tags[#tags], "layout", layout and (layout[#tags] or
layout[1]) or layout)
end
+
return tags
end
--
1.7.1
--
To unsubscribe, send mail to [email protected].