lua - 任务列表项的很棒的 wm 设置大小

标签 lua widget desktop window-managers awesome-wm

我正在编写一个包含我的任务列表的自定义垂直 wibox,我希望它看起来像这样:
enter image description here

但不是固定高度,任务列表项目只是占用所有可用空间。结果如下:
enter image description here

到目前为止,这是我的代码:

function render_task_box(s)
    myotherbox[s] = awful.wibox({ position = "left", screen = s, ontop =
    true, width = 200 })

    mytasklist[s] = awful.widget.tasklist(
        s,
        awful.widget.tasklist.filter.currenttags,
        mytasklist.buttons,
        nil,
        nil,
        wibox.layout.flex.vertical())




    local middle_layout = wibox.layout.fixed.vertical()
    middle_layout:add(mytasklist[s])

    local layout = wibox.layout.align.vertical()
    layout:set_middle(middle_layout)

    myotherbox[s]:set_widget(layout)

end

那么我如何得到想要的结果呢? (或至少设置任务列表图标的高度)

更新

查了一些 docs并尝试了这个:
local l = wibox.layout.flex.vertical();
l:set_max_widget_size(20)

它什么也没做。

最佳答案

在阅读了一些很棒的源代码后,我找到了一个解决方案。

脚本中的某个地方需要这个

local common = require("awful.widget.common")

然后创建一个覆盖任务更新函数的函数:
function list_update(w, buttons, label, data, objects)
    -- call default widget drawing function
    common.list_update(w, buttons, label, data, objects)
    -- set widget size
    w:set_max_widget_size(20)
end

然后将此函数传递给任务列表
    mytasklist[s] = awful.widget.tasklist(s,
    awful.widget.tasklist.filter.currenttags,
    mytasklist.buttons,
    nil,
    list_update,
    wibox.layout.flex.vertical())

就是这样!

关于lua - 任务列表项的很棒的 wm 设置大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31293571/

相关文章:

lua - 如何获取表中函数期望的参数数量?

python - 如何在事件中获取小部件名称?

list - 如何在 flutter 中渲染列表中的列表?

windows - pidgin "buddy list"窗口的行为名称是什么?

Lua:如何从数字列表中读取内容

lua - 如何使用 pandoc lua 过滤器将标题添加为 1 级标题?

flutter - 如何在多个小部件中使用相同的 block

javascript - 是否有用于构建在浏览器中运行的桌面应用程序的开源框架?

java - 寻求有关在 KDE 3 上的桌面之间移动 Qt 4 和 Java 应用程序的建议

module - Lua 全局变量包含当前文件的路径?