awesome wm: некорректно работает вставка в mywibox
бага непонятная: table.insert на массиве не срабатывает, размеры виджета
меняются а его содержимое - нет
файл .config/awesome/rc.lua:
-- инклудим системный конфиг
dofile ("/etc/xdg/awesome/rc.lua")
-- инклудим библиотеку виджетов
require("vicious")
-- насоздаём виджетов:
-- часы
local datewidget = widget({ type = "textbox" })
vicious.register(datewidget, vicious.widgets.date, "%a %b %d, %R %z",
60)
-- MPD
local mpdwidget = widget({ type = "textbox" })
mpdwidget.ellipsize = 'middle'
vicious.register(mpdwidget, vicious.widgets.mpd,
function (widget, args)
local t = ''
if args["{state}"] == "Stop" then
return "[]"
else
t = args["{Artist}"]..' - '..args["{Title}"]
end
return t
end, 10)
-- присваиваем заново mywibox. ранее он был создан в системном конфиге
-- но для иллюстрации бага лучше его заново создать:
mywibox[1].widgets = {
-- итак, сначала 3 MPD-виджета, которые показывают текст "NA - NA":
{mpdwidget, mpdwidget, mpdwidget, layout =
awful.widget.layout.horizontal.leftright},
-- а на правой стороне 3 виджета с часами:
datewidget, datewidget, datewidget, layout =
awful.widget.layout.horizontal.rightleft
}
-- заменим крайний виджет с часами виджетом с MPD - всё срабатывает
mywibox[1].widgets[2] = mpdwidget
-- добавим виджет между существующими виджетами с часами справа - не
работает
table.insert( mywibox[1].widgets, 3, mpdwidget )
не работает так - размер у виджета меняется но текст в нём остаётся
старым.
вопрос: почему? я неправильно понимаю Lua? или awesome?
всё это мне нужно чтобы не копировать для правки системные конфиги к
себе а подцеплять их для незначительных исправлений.
Reply to: