如何限制Wibar 上window 个条目的宽度?

How to limit the width of window entries on the Wibar?

现在如果我只打开一个 window,它会完全填满所有 wibar。直到我再开一个window,现在各占一半space.

有没有办法设置一个静态宽度,单个window可以在wibar上使用?

这是一个例子:

enter image description here

有几种方法可以做到这一点。我将列出其中的一些和 pros/cons

默认情况下,awful.widget.tasklist 小部件使用 wibox.layout.flex.horizontal,分配宽度。您想要将其替换为 wibox.layout.fixed.horizontal,默认为小部件首选大小。如果您希望宽度始终相同,您还需要添加 forced_width

    -- Create a tasklist widget
    s.mytasklist = awful.widget.tasklist {
        screen  = s,
        filter  = awful.widget.tasklist.filter.currenttags,
        layout  = wibox.layout.fixed.horizontal(),
        widget_template = {
            {
                {
                    {
                        {
                            widget = awful.widget.clienticon,
                        },
                        margins = 2,
                        widget  = wibox.container.margin,
                    },
                    {
                        id     = "text_role",
                        widget = wibox.widget.textbox,
                    },
                    layout = wibox.layout.fixed.horizontal,
                },
                left  = 10,
                right = 10,
                widget = wibox.container.margin
            },
            forced_width = 100,
            id     = "background_role",
            widget = wibox.container.background,
        },
        buttons = tasklist_buttons
    }

但您可能还想将其包装在 wibox.container.constraint 容器中。这使您能够设置 minimum/maximum 大小,而不是对值进行硬编码。