--DOC_GEN_IMAGE --DOC_NO_USAGE --DOC_HIDE_START local parent = ... local wibox = require("wibox") local gears = {share = require("gears.shape"), surface = require("gears.surface")} local beautiful = require("beautiful") client.focus = client.gen_fake{ class = "client", name = "A client!", icon = beautiful.awesome_icon, } --DOC_HIDE_END local my_template_widget = wibox.template { { { id = "client_role", set_client = function(self, c) self.image = gears.surface(c.icon) end, widget = wibox.widget.imagebox }, { id = "client_role", set_client = function(self, c) -- If the value can change, don't forget to connect -- some signals: local function update() local txt = "Name: "..c.name if c.minimized then txt = txt .. " (minimized)" end self.markup = txt end update() c:connect_signal("property::name", update) c:connect_signal("property::minimized", update) end, widget = wibox.widget.textbox }, widget = wibox.layout.fixed.horizontal, }, bg = "#0000ff", fg = "#ffffff", shape = gears.share.rounded_rect, widget = wibox.container.background, forced_width = 200, --DOC_HIDE forced_height = 24, --DOC_HIDE } --DOC_NEWLINE -- Later in the code local c = client.focus my_template_widget:set_property("client", c, "client_role") c.minimized = true --DOC_HIDE_START parent:add(my_template_widget) -- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80