1--DOC_GEN_IMAGE --DOC_HIDE
2local parent = ... --DOC_NO_USAGE --DOC_HIDE
3local awful = { --DOC_HIDE
4    tag = require("awful.tag"), --DOC_HIDE
5    placement = require("awful.placement"), --DOC_HIDE
6    widget = {clienticon =require("awful.widget.clienticon"), --DOC_HIDE
7              tasklist = require("awful.widget.tasklist")} --DOC_HIDE
8} --DOC_HIDE
9local wibox = require("wibox") --DOC_HIDE
10local beautiful = require("beautiful") --DOC_HIDE
11
12local s = screen[1] --DOC_HIDE
13local tasklist_buttons = nil -- To make luacheck shut up --DOC_HIDE
14
15local t_real = awful.tag.add("Test", {screen=screen[1]}) --DOC_HIDE
16
17for i=1, 3 do --DOC_HIDE
18    local c = client.gen_fake {x = 80, y = 55, width=75, height=50} --DOC_HIDE
19    c:tags{t_real} --DOC_HIDE
20    c.icon = beautiful.awesome_icon --DOC_HIDE
21    c.name = " Client "..i.."  " --DOC_HIDE
22    client.focus = i==2 and c or client.focus --DOC_HIDE
23end --DOC_HIDE
24
25    s.mytasklist = awful.widget.tasklist {
26        screen   = s,
27        filter   = awful.widget.tasklist.filter.currenttags,
28        buttons  = tasklist_buttons,
29        layout   = {
30            spacing_widget = {
31                {
32                    forced_width  = 5,
33                    forced_height = 24,
34                    thickness     = 1,
35                    color         = "#777777",
36                    widget        = wibox.widget.separator
37                },
38                valign = "center",
39                halign = "center",
40                widget = wibox.container.place,
41            },
42            spacing = 1,
43            layout  = wibox.layout.fixed.horizontal
44        },
45        -- Notice that there is *NO* `wibox.wibox` prefix, it is a template,
46        -- not a widget instance.
47        widget_template = {
48            {
49                wibox.widget.base.make_widget(),
50                forced_height = 5,
51                id            = "background_role",
52                widget        = wibox.container.background,
53            },
54            {
55                {
56                    id     = "clienticon",
57                    widget = awful.widget.clienticon,
58                },
59                margins = 5,
60                widget  = wibox.container.margin
61            },
62            nil,
63            create_callback = function(self, c, index, objects) --luacheck: no unused args
64                self:get_children_by_id("clienticon")[1].client = c
65            end,
66            layout = wibox.layout.align.vertical,
67        },
68    }
69
70s.mytasklist.forced_width = 400 --DOC_HIDE
71s.mytasklist.forced_height = 48 --DOC_HIDE
72s.mytasklist._do_tasklist_update_now() --DOC_HIDE
73
74parent:add( s.mytasklist) --DOC_HIDE
75