Eh, sorry, I had a typo...
Now I have the problem, that in my wibox appers <span background...>
I guess I forget something.
Here the link of the widget again:
http://awesome.naquadah.org/wiki/Volume_control_and_display
Any ideas?
Best regards
Stefano
On 04.01.2013 10:55, Stefano Di Martino wrote:
Sorry, I just forgot to replace this...
Next problem: I get a nil error when I want to add the volume widget
by following way:
local volume = require("volume")
...
left_layout:add(volume.volume_widget) -- Here I get a nil error
Any ideas?
Thanks in advance.
Stefano
On 04.01.2013 09:49, Antonio Santos wrote:
Hi,
add_signal is now connect_signal
See the wiki
On Fri, Jan 4, 2013 at 9:40 AM, Stefano Di Martino <[email protected]
<mailto:[email protected]>> wrote:
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 [email protected]
<mailto:[email protected]>.