On 03.01.2013 13:36, Piotr Adamus wrote:
Hello,

I think you must rewrite your widgets:

"widget" Library Changes

"widget" Library Replacement
There is no longer a thing like widget in the API, so different
widgets which were provided by its type parameter can be found in
different places.
One of them is a new module named wibox. Please note that wibox is no
longer a part of the standard API, so you need to require("wibox") to
use it.
textbox
Migrated to wibox.widget.textbox()
imagebox
Migrated to wibox.widget.imagebox()
systray
Migrated to wibox.widget.systray()

Kr.

Piotr.

Hi Piotr,
thx, for your reply. I tried to port this, but I get the following error on line 41:

"attempt to call method 'add_signal' (a nil value)"

It's about the timer module which was already deprecated on awesome 3.4.
Maybe someone can handle this?

  1 local wibox = require("wibox")
  2 local awful = require("awful")
  3 --local timer = require("timer")
  4
  5 volume_widget = wibox.widget.textbox()
  6 volume_widget:set_align("right")
  7
  8 function update_volume(widget)
  9    local fd = io.popen("amixer sget Master")
 10    local status = fd:read("*all")
 11    fd:close()
 12
 13    local volume = tonumber(string.match(status, "(%d?%d?%d)%%")) / 100
 14    -- volume = string.format("% 3d", volume)
 15
 16    status = string.match(status, "%[(o[^%]]*)%]")
 17
 18    -- starting colour
 19    local sr, sg, sb = 0x3F, 0x3F, 0x3F
 20    -- ending colour
 21    local er, eg, eb = 0xDC, 0xDC, 0xCC
 22
 23    local ir = volume * (er - sr) + sr
 24    local ig = volume * (eg - sg) + sg
 25    local ib = volume * (eb - sb) + sb
 26    interpol_colour = string.format("%.2x%.2x%.2x", ir, ig, ib)
 27    if string.find(status, "on", 1, true) then
28 volume = " <span background='#" .. interpol_colour .. "'> </span>"
 29    else
30 volume = " <span color='red' background='#" .. interpol_colour .. "'> M </span>"
 31    end
 32    widget:set_text(volume)
 33 end
 34
 35 update_volume(volume_widget)
36 --awful.hooks.timer.register(1, function () update_volume(volume_widget) end)
 37
 38 mytimer = timer({ timeout = 1 })
 39
 40 -- error: attempt to call method 'add_signal' (a nil value)
41 mytimer:add_signal("timeout", function () update_volume(volume_widget) end)
 42 mytimer:start()

Best regards
Stefano

--
To unsubscribe, send mail to awesome-unsubscr...@naquadah.org.

Reply via email to