{alsa,pulse}bar: notification fixes and logic simplified
This commit is contained in:
parent
29dd7ad6fc
commit
56a603ef28
4 changed files with 33 additions and 33 deletions
|
@ -10,11 +10,6 @@ Layouts, widgets and utilities for Awesome WM 4.x
|
||||||
:License: GNU-GPL2_
|
:License: GNU-GPL2_
|
||||||
:Source: https://github.com/copycat-killer/lain
|
:Source: https://github.com/copycat-killer/lain
|
||||||
|
|
||||||
Warning
|
|
||||||
-------
|
|
||||||
|
|
||||||
If you still have to use branch 3.5.x, you can refer to the commit 301faf5_, but be aware that it's no longer supported.
|
|
||||||
|
|
||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
@ -47,7 +42,6 @@ Screenshots
|
||||||
.. image:: http://i.imgur.com/STCPcaJ.png
|
.. image:: http://i.imgur.com/STCPcaJ.png
|
||||||
|
|
||||||
.. _GNU-GPL2: http://www.gnu.org/licenses/gpl-2.0.html
|
.. _GNU-GPL2: http://www.gnu.org/licenses/gpl-2.0.html
|
||||||
.. _301faf5: https://github.com/copycat-killer/lain/tree/301faf5370d045e94c9c344acb0fdac84a2f25a6
|
|
||||||
.. _awesome-vain: https://github.com/vain/awesome-vain
|
.. _awesome-vain: https://github.com/vain/awesome-vain
|
||||||
.. _Awesome: https://github.com/awesomeWM/awesome
|
.. _Awesome: https://github.com/awesomeWM/awesome
|
||||||
.. _wiki: https://github.com/copycat-killer/lain/wiki
|
.. _wiki: https://github.com/copycat-killer/lain/wiki
|
||||||
|
|
|
@ -29,7 +29,7 @@ local function factory(args)
|
||||||
},
|
},
|
||||||
|
|
||||||
_current_level = 0,
|
_current_level = 0,
|
||||||
_muted = false
|
_mute = "off"
|
||||||
}
|
}
|
||||||
|
|
||||||
local args = args or {}
|
local args = args or {}
|
||||||
|
@ -75,23 +75,27 @@ local function factory(args)
|
||||||
|
|
||||||
function alsabar.update(callback)
|
function alsabar.update(callback)
|
||||||
helpers.async(format_cmd, function(mixer)
|
helpers.async(format_cmd, function(mixer)
|
||||||
local volu,mute = string.match(mixer, "([%d]+)%%.*%[([%l]*)")
|
local volu, mute = string.match(mixer, "([%d]+)%%.*%[([%l]*)")
|
||||||
if (volu and tonumber(volu) ~= alsabar._current_level) or (mute and string.match(mute, "on") ~= alsabar._muted) then
|
|
||||||
alsabar._current_level = tonumber(volu) or alsabar._current_level
|
if not volu or not mute then return end
|
||||||
|
|
||||||
|
if volu ~= alsabar._current_level or mute ~= alsabar._mute then
|
||||||
|
alsabar._current_level = tonumber(volu)
|
||||||
alsabar.bar:set_value(alsabar._current_level / 100)
|
alsabar.bar:set_value(alsabar._current_level / 100)
|
||||||
if (not mute and tonumber(volu) == 0) or mute == "off" then
|
if alsabar._current_level == 0 or mute == "off" then
|
||||||
alsabar._muted = true
|
alsabar._mute = mute
|
||||||
alsabar.tooltip:set_text ("[Muted]")
|
alsabar.tooltip:set_text("[Muted]")
|
||||||
alsabar.bar.color = alsabar.colors.mute
|
alsabar.bar.color = alsabar.colors.mute
|
||||||
else
|
else
|
||||||
alsabar._muted = false
|
alsabar._mute = "on"
|
||||||
alsabar.tooltip:set_text(string.format("%s: %s", alsabar.channel, volu))
|
alsabar.tooltip:set_text(string.format("%s: %s", alsabar.channel, volu))
|
||||||
alsabar.bar.color = alsabar.colors.unmute
|
alsabar.bar.color = alsabar.colors.unmute
|
||||||
end
|
end
|
||||||
|
|
||||||
volume_now = {}
|
volume_now = {
|
||||||
volume_now.level = tonumber(volu)
|
level = alsabar._current_level,
|
||||||
volume_now.status = mute
|
status = alsabar._mute
|
||||||
|
}
|
||||||
|
|
||||||
settings()
|
settings()
|
||||||
|
|
||||||
|
@ -104,7 +108,7 @@ local function factory(args)
|
||||||
alsabar.update(function()
|
alsabar.update(function()
|
||||||
local preset = alsabar.notification_preset
|
local preset = alsabar.notification_preset
|
||||||
|
|
||||||
if alsabar._muted then
|
if alsabar._mute == "on" then
|
||||||
preset.title = string.format("%s - Muted", alsabar.channel)
|
preset.title = string.format("%s - Muted", alsabar.channel)
|
||||||
else
|
else
|
||||||
preset.title = string.format("%s - %s%%", alsabar.channel, alsabar._current_level)
|
preset.title = string.format("%s - %s%%", alsabar.channel, alsabar._current_level)
|
||||||
|
|
|
@ -30,7 +30,7 @@ local function factory(args)
|
||||||
},
|
},
|
||||||
|
|
||||||
_current_level = 0,
|
_current_level = 0,
|
||||||
_muted = false
|
_mute = "no",
|
||||||
}
|
}
|
||||||
|
|
||||||
local args = args or {}
|
local args = args or {}
|
||||||
|
@ -46,7 +46,7 @@ local function factory(args)
|
||||||
pulsebar.sink = args.sink or 0
|
pulsebar.sink = args.sink or 0
|
||||||
pulsebar.colors = args.colors or pulsebar.colors
|
pulsebar.colors = args.colors or pulsebar.colors
|
||||||
pulsebar.followtag = args.followtag or false
|
pulsebar.followtag = args.followtag or false
|
||||||
pulsebar.notifications = args.notification_preset
|
pulsebar.notification_preset = args.notification_preset
|
||||||
pulsebar.device = "N/A"
|
pulsebar.device = "N/A"
|
||||||
|
|
||||||
if not pulsebar.notification_preset then
|
if not pulsebar.notification_preset then
|
||||||
|
@ -93,15 +93,17 @@ local function factory(args)
|
||||||
local volu = volume_now.left
|
local volu = volume_now.left
|
||||||
local mute = volume_now.muted
|
local mute = volume_now.muted
|
||||||
|
|
||||||
if (volu and volu ~= pulsebar._current_level) or (mute and mute ~= pulsebar._muted) then
|
if volu:match("N/A") or mute:match("N/A") then return end
|
||||||
pulsebar._current_level = volu
|
|
||||||
|
if volu ~= pulsebar._current_level or mute ~= pulsebar._mute then
|
||||||
|
pulsebar._current_level = tonumber(volu)
|
||||||
pulsebar.bar:set_value(pulsebar._current_level / 100)
|
pulsebar.bar:set_value(pulsebar._current_level / 100)
|
||||||
if (not mute and volu == 0) or mute == "yes" then
|
if pulsebar._current_level == 0 or mute == "yes" then
|
||||||
pulsebar._muted = true
|
pulsebar._mute = mute
|
||||||
pulsebar.tooltip:set_text ("[Muted]")
|
pulsebar.tooltip:set_text ("[Muted]")
|
||||||
pulsebar.bar.color = pulsebar.colors.mute
|
pulsebar.bar.color = pulsebar.colors.mute
|
||||||
else
|
else
|
||||||
pulsebar._muted = false
|
pulsebar._mute = "no"
|
||||||
pulsebar.tooltip:set_text(string.format("%s: %s", pulsebar.sink, volu))
|
pulsebar.tooltip:set_text(string.format("%s: %s", pulsebar.sink, volu))
|
||||||
pulsebar.bar.color = pulsebar.colors.unmute
|
pulsebar.bar.color = pulsebar.colors.unmute
|
||||||
end
|
end
|
||||||
|
@ -117,10 +119,10 @@ local function factory(args)
|
||||||
pulsebar.update(function()
|
pulsebar.update(function()
|
||||||
local preset = pulsebar.notification_preset
|
local preset = pulsebar.notification_preset
|
||||||
|
|
||||||
if pulsebar._muted then
|
if pulsebar._mute == "yes" then
|
||||||
preset.title = string.format("Sink %s - Muted", pulsebar.sink)
|
preset.title = string.format("Sink %s - Muted", pulsebar.sink)
|
||||||
else
|
else
|
||||||
preset.title = string.format("%s - %s%%", pulsebar.sink, pulsebar._current_level)
|
preset.title = string.format("Sink %s - %s%%", pulsebar.sink, pulsebar._current_level)
|
||||||
end
|
end
|
||||||
|
|
||||||
int = math.modf((pulsebar._current_level / 100) * awful.screen.focused().mywibox.height)
|
int = math.modf((pulsebar._current_level / 100) * awful.screen.focused().mywibox.height)
|
||||||
|
|
2
wiki
2
wiki
|
@ -1 +1 @@
|
||||||
Subproject commit 6e7fa1373fe54c6aed9a9dbbe226c62102e4c623
|
Subproject commit d92165bdd8782e1c076c26e7d86f99759f2d5bfd
|
Loading…
Add table
Reference in a new issue