[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: