Try changing
This...
> volumecfg.mixercommand(" sset " .. volumecfg.channel .. "
>toggle")
To this...
> volumecfg.mixercommand(" sset " .. volumecfg.channel .. " toggle")
PS: Here's my version which has 4 different icons depending on the level,
click toggles mute, wheel up/down over icon changes volume & tool tip gives
actual value...
-- Volume widget
myvolume = {}
myvolume.cardid = 0
myvolume.channel = "Headphone" -- edit as appropriate [often "Master"]
myvolume.widget = widget({ type = "imagebox", name = "myvolume.widget" })
myvolume.tooltip = awful.tooltip({ objects = { myvolume.widget },})
myvolume.mixercommand = function (command)
local fd =
io.popen("amixer -c " .. myvolume.cardid .. " " .. command)
local status =
fd:read("*all")
fd:close()
local volume =
string.match(status, "(%d?%d?%d)%%")
status =
string.match(status, "%[(o[^%]]*)%]")
if
string.find(status, "on", 1, true) then
if
tonumber(volume) < 50 then
myvolume.widget.image = image(awful.util.getdir("config") ..
"/icons/audio-volume-low.png")
elseif
tonumber(volume) < 100 then
myvolume.widget.image = image(awful.util.getdir("config") ..
"/icons/audio-volume-medium.png")
else
myvolume.widget.image = image(awful.util.getdir("config") ..
"/icons/audio-volume-high.png")
end
else
myvolume.widget.image = image(awful.util.getdir("config") ..
"/icons/audio-volume-muted.png")
end
myvolume.tooltip:set_text(volume .. "%")
end
myvolume.update = function () myvolume.mixercommand("sget " ..
myvolume.channel) end
myvolume.up = function () myvolume.mixercommand("sset " .. myvolume.channel
.. " 1%+") end
myvolume.down = function () myvolume.mixercommand("sset " ..
myvolume.channel .. " 1%-") end
myvolume.toggle = function () myvolume.mixercommand("sset " ..
myvolume.channel .. " toggle") end
myvolume.widget:buttons( {
button({ },
4, function () myvolume.up() end),
button({ },
5, function () myvolume.down() end),
button({ },
1, function () myvolume.toggle() end)
})
myvolume.update()
David Sorkovsky
+61 468 478 438
-----Original Message-----
From: pyLemon [mailto:[email protected]]
Sent: Tuesday, 17 July 2012 11:21 PM
To: Abhijeet R
Cc: [email protected]; David Gomes
Subject: Re: change gnome-sound-applet icon in awesome
thanks for your quick reply Abhijeet, and thanks David Gomes. I have google
that page. haha, And I have seen someone has successful changed that icon.
but I don't know how..
this is my volume applet config
-- Volume widget
volumecfg = {}
volumecfg.cardid = 0
volumecfg.channel = "Master"
volumecfg.widget = widget({ type = "textbox", name = "volumecfg.widget",
align = "right" })
volumecfg_t = awful.tooltip({ objects = { volumecfg.widget },})
volumecfg_t:set_text("Volume")
-- command must start with a space!
volumecfg.mixercommand = function (command)
local fd = io.popen("amixer -c " .. volumecfg.cardid .. command)
local status = fd:read("*all")
fd:close()
local volume = string.match(status, "(%d?%d?%d)%%")
volume = string.format("<span color='#1793d1'>%3d</span>",
volume)
status = string.match(status, "%[(o[^%]]*)%]")
if string.find(status, "on", 1, true) then
volume = volume .. "<span color='#1793d1'>%</span>"
else
volume = volume .. "<span color='#ff5656'>M</span>"
end
volumecfg.widget.text = volume
end
volumecfg.update = function ()
volumecfg.mixercommand(" sget " .. volumecfg.channel) end
volumecfg.up = function ()
volumecfg.mixercommand(" sset " .. volumecfg.channel .. " 2%+") end
volumecfg.down = function ()
volumecfg.mixercommand(" sset " .. volumecfg.channel .. " 2%-") end
volumecfg.toggle = function ()
volumecfg.mixercommand(" sset " .. volumecfg.channel .. "
toggle")
end
volumecfg.widget:buttons({
button({ }, 4, function () volumecfg.up() end),
button({ }, 5, function () volumecfg.down() end),
button({ }, 1, function () volumecfg.toggle() end)
})
volumecfg.update()
-----------EOF
the problem is , when I click the widget and it execute
volumecfg.toggle() , the computer gets mute, and I can't get it unmute
unless I use the gnome-sound-applet or something like that.. what do
you think about that problem?
pylemon
于Tue 17 Jul 2012 05:36:36 PM CST,Abhijeet R写到:
> Well, I actually don't have a solution but you can use vicious to
> create a widget like this.
>
> -- {{{ Volume level
> volicon = widget({ type = "imagebox" }) volicon.image =
> image(awful.util.getdir("config") .. "/icons/vol.png")
>
> volwidget = widget({ type = "textbox" })
> vicious.cache(vicious.widgets.volume)
> -- Register widgets
> vicious.register(volwidget, vicious.widgets.volume, " $1%", 2,
> "Master")
> -- Register buttons
> volwidget:buttons(awful.util.table.join(
> awful.button({ }, 1, function () exec("gnome-alsamixer") end),
> awful.button({ }, 4, function () exec("amixer -q set Master 2dB+",
> false) vicious.force({volwidget}) end),
> awful.button({ }, 5, function () exec("amixer -q set Master 2dB-",
> false) vicious.force({volwidget}) end)
> ))
>
> In the above configuration, scrolling on the textwidget changes the
> sound too. Also, clicking on it opens gnome-alsamixer.
>
> On Tue 17 Jul 2012 02:52:42 PM IST, David Gomes wrote:
>> I've had the same problem:
>> http://askubuntu.com/questions/105614/change-gnome-sound-applet-icon
>>
>> I couldn't really get an answer, not sure if it's possible. I just
>> ended up using a textbox to display my sound, but I'd love to find a
>> way around this too.
>>
>> On Tue, Jul 17, 2012 at 8:37 AM, pyLemon <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> hi:
>>
>> I use the gnome-sound-applet to control sound in my awesome
>> settings, and it has a full black icon. However, my top panel is
>> also black, so I can't see the icon.
>>
>> Is it possible to change the icon? Thanks!
>>
>>
>> best regards,
>> pylemon
>>
>> --
>> To unsubscribe, send mail to awesome-unsubscribe@naquadah.__org
>> <mailto:[email protected]>.
>>
>>
>
--
To unsubscribe, send mail to [email protected].
--
To unsubscribe, send mail to [email protected].