根据内容增加wibox高度

时间:2017-12-06 20:57:32

标签: lua awesome-wm

我有一个垂直布局的wibox和两个文本小部件:

local w = wibox {
    width = 300,
    height = 80,
    ontop = true,
    screen = mouse.screen,
}

w:setup {
    {
        id = 'header',
        widget = wibox.widget.textbox
    },
    {
        id = 'body',
        widget = wibox.widget.textbox
    },
    id = 'text',
    layout = wibox.layout.flex.vertical,
}

当字符串在' body' textbox很短,一切都很好,小部件看起来像这样:

widget with short string

但是如果字符串很长,那么wibox的大小不足以显示所有字符串,因此字符串的一部分会被删除:

widget with long string

是否可以根据内容的大小动态调整wibox大小?

1 个答案:

答案 0 :(得分:1)

我不能确定你想要什么。如果您想为内容调整wibox的高度:

更改文本框的文本后,运行以下代码:

local t1 = w:get_children_by_id("header")[1]
local t2 = w:get_children_by_id("body")[1]
local h1 = t1:get_height_for_width(w.width, w.screen)
local h2 = t2:get_height_for_width(w.width, w.screen)
w.height = h1 + h2

如果您想要一些额外的空白空间,就像在第一个屏幕截图中一样,您可以在高度上添加一些数字。 42总是一个很好的答案。 ; - )