Удивительный размер настройки wm для элемента списка задач

Я кодирую пользовательский вертикальный wibox, который содержит мой список задач, я хочу, чтобы он выглядел так: введите описание изображения здесь

но вместо фиксированной высоты элементы списка задач просто занимают все доступное пространство. Вот результат: введите здесь описание изображения

Вот мой код:

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

Итак, как мне получить желаемый результат? (или хотя бы установить высоту значка списка задач)

Обновить

Просмотрел некоторые документы и попробовал следующее:

local l = wibox.layout.flex.vertical();
l:set_max_widget_size(20)

Это ничего не сделало.


person Ben    schedule 08.07.2015    source источник


Ответы (1)


После прочтения исходного кода удивительного я нашел решение.

Где-то в вашем скрипте требуется это

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())

Вот и все!

person Ben    schedule 08.07.2015
comment
@Linas, вы можете проверить мою замечательную конфигурацию здесь github.com/ThePinkPanther/MinimalAwesome, в ней реализовано это решение и многое другое. - person Ben; 18.03.2016