my complicated awesomewm config (SUNSETTED)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

45 lines
1.5 KiB

local awful = require("awful")
local wibox = require("wibox")
local awmtk = require("awmtk")
return function(args)
local style = awmtk.style(awmtk.defaults, args.style or {},"drawer_")
local contained_widget = {
id = "contents",
widget = wibox.container.background,
layout = (args.vertical and wibox.layout.fixed.vertical) or
wibox.layout.fixed.horizontal,
visible = false
}
for k,v in ipairs(args) do
table.insert(contained_widget,v)
end
local widget = style.icon {
contained_widget,
{
widget = wibox.widget.imagebox,
image = style["drawer_closed_icon"],
id = "widget_toggle",
resize = true
},
layout = (args.vertical and wibox.layout.fixed.vertical) or
wibox.layout.fixed.horizontal,
spacing = style.drawer_container_spacing_horizontal
}
widget:get_children_by_id("widget_toggle")[1]:buttons(
awful.util.table.join(
awful.button({},1,function()
local subwidget = widget:get_children_by_id("contents")[1]
local image = widget:get_children_by_id("widget_toggle")[1]
if not subwidget.visible then
image.image = style["drawer_open_icon"]
else
image.image = style["drawer_closed_icon"]
end
subwidget.visible = not subwidget.visible
end)
)
)
return widget
end