Awesome. Виджет progressbar (не пойму как работает)

ion, dwm, wmii, awesome, xmonad и другие

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Awesome. Виджет progressbar

Сообщение Hephaestus »

Есть в awesome такая штука как awful.widget.progressbar
Примеры в Сети демонстрируют использование его для отображения использования оперативной памяти.

И вот такая конструкция работает вполне нормально

Код: Выделить всё

--Memory
memwidget = wibox.widget.textbox()
vicious.register(memwidget, vicious.widgets.mem, "$1% ($2MB/$3MB)", 1)

--Memory progressbar

memwidget2 = awful.widget.progressbar()
memwidget2:set_width(8)
memwidget2:set_height(10)
memwidget2:set_vertical(true)
memwidget2:set_background_color("#494B4F")
memwidget2:set_border_color(nil)

vicious.register(memwidget2,vicious.widgets.mem,
function(widget,args)
    widget:set_color(gradient2("#00ff00","#ff0000",0,100,args[1]))
    return args[1]
end,1)
TextBox выводит числовые значения, progressbar - графическое (этакий "столбик термометра", который показывает уровень заполненности RAM и меняет цвет по мере заполнения).

Я хочу в таком же виде вывести индикатор загруженности CPU.
Конструкция получается что-то вроде

Код: Выделить всё

--CPU
cpuwidget = wibox.widget.textbox()
vicious.register(cpuwidget, vicious.widgets.cpu, "$1",1)

cpuwidget2 = awful.widget.progressbar()
cpuwidget2:set_width(50)
cpuwidget2:set_height(10)
cpuwidget2:set_vertical(true)
cpuwidget2:set_background_color("#494B4F")
cpuwidget2:set_border_color(nil)

vicious.register(cpuwidget2,vicious.widgets.cpu,
function(widget,args)
    widget:set_color(gradient2("#00ff00","#ff0000",0,100,args[1]))
    return args[1]
end,1)
Однако это не работает так, как ожидалось. TexBox выводит числовое значение нормально, а вот графическое - увы. "Столбик термометра" почти всегда "пустой" и только иногда буквально на секунду заполняется цветом, причём сразу весь - сверху донизу.

Непонятно. afwul.widgets.progressbar() на вход принимает число. И отображает его графически.
vicious.widgets.mem возвращает число. И vicious.widgets.cpu тоже возвращает число. Это точно, потому что textbox в обоих случаях выводит эти числа.
Однако в первом случае с progressbar всё нормально, во втором нет.
Почему? vicious.widgets.cpu слишком быстро выдаёт разные значения и progressbar не успевает их отрисовывать?
Вроде нет. Даже на постоянной нагрузке, скажем 30%, график ничего не отображает.

ЧЯДНТ?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Ответить