mirror of https://github.com/lcpz/lain.git
{alsa,pulse}bar: notification fixes and logic simplified
This commit is contained in:
parent
29dd7ad6fc
commit
56a603ef28
|
@ -10,11 +10,6 @@ Layouts, widgets and utilities for Awesome WM 4.x
|
|||
:License: GNU-GPL2_
|
||||
: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
|
||||
-----------
|
||||
|
||||
|
@ -47,7 +42,6 @@ Screenshots
|
|||
.. image:: http://i.imgur.com/STCPcaJ.png
|
||||
|
||||
.. _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: https://github.com/awesomeWM/awesome
|
||||
.. _wiki: https://github.com/copycat-killer/lain/wiki
|
||||
|
|
|
@ -29,7 +29,7 @@ local function factory(args)
|
|||
},
|
||||
|
||||
_current_level = 0,
|
||||
_muted = false
|
||||
_mute = "off"
|
||||
}
|
||||
|
||||
local args = args or {}
|
||||
|
@ -75,23 +75,27 @@ local function factory(args)
|
|||
|
||||
function alsabar.update(callback)
|
||||
helpers.async(format_cmd, function(mixer)
|
||||
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
|
||||
local volu, mute = string.match(mixer, "([%d]+)%%.*%[([%l]*)")
|
||||
|
||||
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)
|
||||
if (not mute and tonumber(volu) == 0) or mute == "off" then
|
||||
alsabar._muted = true
|
||||
alsabar.tooltip:set_text ("[Muted]")
|
||||
if alsabar._current_level == 0 or mute == "off" then
|
||||
alsabar._mute = mute
|
||||
alsabar.tooltip:set_text("[Muted]")
|
||||
alsabar.bar.color = alsabar.colors.mute
|
||||
else
|
||||
alsabar._muted = false
|
||||
alsabar._mute = "on"
|
||||
alsabar.tooltip:set_text(string.format("%s: %s", alsabar.channel, volu))
|
||||
alsabar.bar.color = alsabar.colors.unmute
|
||||
end
|
||||
|
||||
volume_now = {}
|
||||
volume_now.level = tonumber(volu)
|
||||
volume_now.status = mute
|
||||
volume_now = {
|
||||
level = alsabar._current_level,
|
||||
status = alsabar._mute
|
||||
}
|
||||
|
||||
settings()
|
||||
|
||||
|
@ -104,7 +108,7 @@ local function factory(args)
|
|||
alsabar.update(function()
|
||||
local preset = alsabar.notification_preset
|
||||
|
||||
if alsabar._muted then
|
||||
if alsabar._mute == "on" then
|
||||
preset.title = string.format("%s - Muted", alsabar.channel)
|
||||
else
|
||||
preset.title = string.format("%s - %s%%", alsabar.channel, alsabar._current_level)
|
||||
|
|
|
@ -30,7 +30,7 @@ local function factory(args)
|
|||
},
|
||||
|
||||
_current_level = 0,
|
||||
_muted = false
|
||||
_mute = "no",
|
||||
}
|
||||
|
||||
local args = args or {}
|
||||
|
@ -42,12 +42,12 @@ local function factory(args)
|
|||
local ticks_size = args.ticks_size or 7
|
||||
local scallback = args.scallback
|
||||
|
||||
pulsebar.cmd = args.cmd or "pacmd list-sinks | sed -n -e '0,/*/d' -e '/base volume/d' -e '/volume:/p' -e '/muted:/p' -e '/device\\.string/p'"
|
||||
pulsebar.sink = args.sink or 0
|
||||
pulsebar.colors = args.colors or pulsebar.colors
|
||||
pulsebar.followtag = args.followtag or false
|
||||
pulsebar.notifications = args.notification_preset
|
||||
pulsebar.device = "N/A"
|
||||
pulsebar.cmd = args.cmd or "pacmd list-sinks | sed -n -e '0,/*/d' -e '/base volume/d' -e '/volume:/p' -e '/muted:/p' -e '/device\\.string/p'"
|
||||
pulsebar.sink = args.sink or 0
|
||||
pulsebar.colors = args.colors or pulsebar.colors
|
||||
pulsebar.followtag = args.followtag or false
|
||||
pulsebar.notification_preset = args.notification_preset
|
||||
pulsebar.device = "N/A"
|
||||
|
||||
if not pulsebar.notification_preset then
|
||||
pulsebar.notification_preset = {}
|
||||
|
@ -93,15 +93,17 @@ local function factory(args)
|
|||
local volu = volume_now.left
|
||||
local mute = volume_now.muted
|
||||
|
||||
if (volu and volu ~= pulsebar._current_level) or (mute and mute ~= pulsebar._muted) then
|
||||
pulsebar._current_level = volu
|
||||
if volu:match("N/A") or mute:match("N/A") then return end
|
||||
|
||||
if volu ~= pulsebar._current_level or mute ~= pulsebar._mute then
|
||||
pulsebar._current_level = tonumber(volu)
|
||||
pulsebar.bar:set_value(pulsebar._current_level / 100)
|
||||
if (not mute and volu == 0) or mute == "yes" then
|
||||
pulsebar._muted = true
|
||||
if pulsebar._current_level == 0 or mute == "yes" then
|
||||
pulsebar._mute = mute
|
||||
pulsebar.tooltip:set_text ("[Muted]")
|
||||
pulsebar.bar.color = pulsebar.colors.mute
|
||||
else
|
||||
pulsebar._muted = false
|
||||
pulsebar._mute = "no"
|
||||
pulsebar.tooltip:set_text(string.format("%s: %s", pulsebar.sink, volu))
|
||||
pulsebar.bar.color = pulsebar.colors.unmute
|
||||
end
|
||||
|
@ -117,10 +119,10 @@ local function factory(args)
|
|||
pulsebar.update(function()
|
||||
local preset = pulsebar.notification_preset
|
||||
|
||||
if pulsebar._muted then
|
||||
if pulsebar._mute == "yes" then
|
||||
preset.title = string.format("Sink %s - Muted", pulsebar.sink)
|
||||
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
|
||||
|
||||
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…
Reference in New Issue