#54 fix attempt

This commit is contained in:
luke bonham 2014-07-21 13:34:40 +02:00 committed by copycat-killer
parent b3e4d796d0
commit a776679884
1 changed files with 40 additions and 44 deletions

View File

@ -24,70 +24,66 @@ local setmetatable = setmetatable
-- ALSA volume bar -- ALSA volume bar
-- lain.widgets.alsabar -- lain.widgets.alsabar
local alsabar = local alsabar = {
{ channel = "Master",
channel = "Master", step = "5%",
step = "5%",
colors = colors = {
{ background = beautiful.bg_normal,
background = beautiful.bg_normal, mute = "#EB8F8F",
mute = "#EB8F8F", unmute = "#A4CE8A"
unmute = "#A4CE8A" },
},
terminal = terminal or "xterm", terminal = terminal or "xterm",
mixer = terminal .. " -e alsamixer", mixer = terminal .. " -e alsamixer",
notifications = notifications = {
{ font = beautiful.font:sub(beautiful.font:find(""), beautiful.font:find(" ")),
font = beautiful.font:sub(beautiful.font:find(""), beautiful.font:find(" ")), font_size = "11",
font_size = "11", color = beautiful.fg_normal,
color = beautiful.fg_normal, bar_size = 18
bar_size = 18 },
},
_current_level = 0, _current_level = 0,
_muted = false _muted = false
} }
function alsabar.notify() function alsabar.notify()
alsabar.update() alsabar.update()
local preset = local preset = {
{ title = "",
title = "", text = "",
text = "", timeout = 4,
timeout = 4, font = alsabar.notifications.font .. " " ..
font = alsabar.notifications.font .. " " .. alsabar.notifications.font_size,
alsabar.notifications.font_size, fg = alsabar.notifications.color
fg = alsabar.notifications.color
} }
if alsabar._muted if alsabar._muted
then then
preset.title = alsabar.channel .. " - Muted" preset.title = alsabar.channel .. " - Muted"
else else
preset.title = alsabar.channel .. " - " .. alsabar._current_level * 100 .. "%" preset.title = alsabar.channel .. " - " .. alsabar._current_level .. "%"
end end
int = math.modf(alsabar._current_level * alsabar.notifications.bar_size) int = math.modf((alsabar._current_level / 100) * alsabar.notifications.bar_size)
preset.text = "[" preset.text = "["
.. string.rep("|", int) .. string.rep("|", int)
.. string.rep(" ", alsabar.notifications.bar_size - int) .. string.rep(" ", alsabar.notifications.bar_size - int)
.. "]" .. "]"
if alsabar._notify ~= nil then if alsabar._notify ~= nil then
alsabar._notify = naughty.notify ({ alsabar._notify = naughty.notify ({
replaces_id = alsabar._notify.id, replaces_id = alsabar._notify.id,
preset = preset, preset = preset,
screen = client.focus and client.focus.screen or 1 screen = client.focus and client.focus.screen or 1
}) })
else else
alsabar._notify = naughty.notify ({ alsabar._notify = naughty.notify ({
preset = preset, preset = preset,
screen = client.focus and client.focus.screen or 1 screen = client.focus and client.focus.screen or 1
}) })
end end
end end
@ -131,8 +127,8 @@ local function worker(args)
mute = "off" mute = "off"
end end
alsabar._current_level = tonumber(volu) / 100 alsabar._current_level = tonumber(volu)
alsabar.bar:set_value(alsabar._current_level) alsabar.bar:set_value(alsabar._current_level / 100)
if not mute and tonumber(volu) == 0 or mute == "off" if not mute and tonumber(volu) == 0 or mute == "off"
then then