LINUX.ORG.RU

не обновляется виджет в осоме

 , ,


0

1

привет лоровцы, вопрос - вывел индикатор заряда батареи, а оно не хочет обновляться, подскажите что не так?

349 bat_perc = lain.widgets.bat({
350     settings = function()
351         widget:set_markup(space3 .. bat_now.perc .."%" .. markup.font("Tamsyn 4", " "))
352     end
353 })
354 bat_time = lain.widgets.bat({
355     settings = function()
356         widget:set_markup(space3 .. "~ " .. bat_now.time .. markup.font("Tamsyn 4", " "))
357     end
358 })
359 
360 widget_bat = wibox.widget.imagebox()
361 widget_bat:set_image(beautiful.widget_bat)
362 
363 batwidget = wibox.widget.background()
364 batwidget:set_widget(bat_perc)
365 batwidget:set_bgimage(beautiful.widget_display)
366 
367 local index = 1
368 local loop_widgets = { bat_perc, bat_time }
369 
370 batwidget:buttons(awful.util.table.join(awful.button({}, 1,
371     function () 
372         index = index % #loop_widgets + 1
373         batwidget:set_widget(loop_widgets[index])
374     end
375 )))

P.S.

awesome v3.5.9 (Mighty Ravendark)
 • Build: Mar 30 2016 22:58:57 for x86_64 by gcc version 4.9.3 (@sandbox)
 • Compiled against Lua 5.1.5 (running with Lua 5.1)
 • D-Bus support: ✔



Последнее исправление: tigris (всего исправлений: 1)

а где кусок про какую батарею он читает? что он обновлять-то должен?

batwidget = lain.widgets.bat({
    battery = "BAT1",
    -- [...]
})

l-_-l
()
Ответ на: комментарий от l-_-l

упс... я забыл :( и ведь не заметил даже... уже часа 3 вожусь, и в сам модуль лазил... эххх. спасибо, сейчас проверим.

tigris
() автор топика
Ответ на: комментарий от l-_-l

а не, не катит, в самом bat.lua есть вот это:

local battery = args.battery or "BAT0"
tigris
() автор топика

вероятно ошибка в этом месте:

368 local index = 1
369 local loop_widgets = { bat_perc, bat_time }
370 
371 batwidget:buttons(awful.util.table.join(awful.button({}, 1,  
372     function ()
373         index = index % #loop_widgets + 1
374         batwidget:set_widget(loop_widgets[index])
375
376     end
377 )))

закоментил блок и все стало обновляться :( как бы понять что ему не нравится? тут же по сути нихрена не делается кроме как виджеты перебираются по нажатию...

tigris
() автор топика
Последнее исправление: tigris (всего исправлений: 2)
Ответ на: комментарий от tigris

Глянул в исходники, все равно не понял как этот

bat_now
прокидывается внутрь колбеков. Либо ты не все написал, либо автор либы наркоман.

Могу посоветовать только запуститься через Зефир и посмотреть в консоль на вывод: https://awesomewm.org/wiki/Using_Xephyr

unlog1c ★★★
()
Ответ на: комментарий от Worron

работает.

-- | Clock / Calendar | --
428 
429 mytextclock    = awful.widget.textclock(markup(clockgf, space3 .. "%H:%M" .. markup.font("Tamsyn 3", " ")))
430 mytextcalendar = awful.widget.textclock(markup(clockgf, space3 .. "%a %d %b"))
431 
432 widget_clock = wibox.widget.imagebox()
433 widget_clock:set_image(beautiful.widget_clock)
434 
435 clockwidget = wibox.widget.background()
436 clockwidget:set_widget(mytextclock)
437 clockwidget:set_bgimage(beautiful.widget_display)
438 
439 local index = 1
440 local loop_widgets = { mytextclock, mytextcalendar }
441 local loop_widgets_icons = { beautiful.widget_clock, beautiful.widget_cal }
442 
443 clockwidget:buttons(awful.util.table.join(awful.button({}, 1,
444     function ()
445         index = index % #loop_widgets + 1
446         clockwidget:set_widget(loop_widgets[index])
447         widget_clock:set_image(loop_widgets_icons[index])
448     end)))

и еще, расскомментировал блок назад, только вначале оставшееся время вывожу, так вот, время обновляется, проценты нет. хрень какая-то. буду думать...

tigris
() автор топика
Ответ на: комментарий от unlog1c
...
local bat = {}

...

 98             bat_now.time = string.format("%02d:%02d", hrs, min)
 99 
100             bat_now.perc = first_line(bstr .. "/capacity")

...

146     newtimer("bat", timeout, update)
147 
148     return bat.widget
149 end
150 
151 return setmetatable(bat, { __call = function(_, ...) return worker(...) end })

как-то так :)

tigris
() автор топика

забыл дописать, при перезапуске осома, естественно обновляются проценты заряда батареи. вот.

tigris
() автор топика
Ответ на: комментарий от r3lgar

в bat.lua есть следующие строчечки:

28     local timeout = args.timeout or 30

и

146     newtimer("bat", timeout, update)
tigris
() автор топика
Ответ на: комментарий от tigris

и еще, bat_now - глобально объявлена.

tigris
() автор топика
Ответ на: комментарий от Worron

с гитхаба сейчас скачал вроде как последний lain, посмотрим что скажет

tigris
() автор топика
Последнее исправление: tigris (всего исправлений: 1)
Ответ на: комментарий от Worron

все, спасибо, заработало :) дело было в старом lain ))

tigris
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.