{alsa,pulse}bar updated to awesome 4.0

This commit is contained in:
copycat-killer 2017-01-05 13:53:47 +01:00
parent 64540340db
commit 1bd178f687
4 changed files with 59 additions and 54 deletions

View File

@ -10,7 +10,7 @@ local awful = require("awful")
local capi = { client = client, local capi = { client = client,
mouse = mouse, mouse = mouse,
screen = screen, screen = screen,
timer = timer } timer = timer or require("gears.timer") }
local math = { floor = math.floor } local math = { floor = math.floor }
local string = string local string = string

View File

@ -37,7 +37,7 @@ local alsabar = {
}, },
terminal = terminal or "xterm", terminal = terminal or "xterm",
mixer = terminal .. " -e alsamixer", mixer = string.format("%s -e alsamixer", terminal),
notifications = { notifications = {
font = beautiful.font:sub(beautiful.font:find(""), beautiful.font:find(" ")), font = beautiful.font:sub(beautiful.font:find(""), beautiful.font:find(" ")),
@ -59,23 +59,21 @@ function alsabar.notify()
text = "", text = "",
timeout = 5, timeout = 5,
screen = alsabar.notifications.screen, screen = alsabar.notifications.screen,
font = alsabar.notifications.font .. " " .. font = string.format("%s %s", 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 = string.format("%s - Muted", alsabar.channel)
else else
preset.title = alsabar.channel .. " - " .. alsabar._current_level .. "%" preset.title = string.format("%s - %s%%", alsabar.channel, alsabar._current_level)
end end
int = math.modf((alsabar._current_level / 100) * alsabar.notifications.bar_size) int = math.modf((alsabar._current_level / 100) * alsabar.notifications.bar_size)
preset.text = "[" preset.text = string.format("[%s%s]", string.rep("|", int),
.. string.rep("|", int) string.rep(" ", alsabar.notifications.bar_size - int))
.. string.rep(" ", alsabar.notifications.bar_size - int)
.. "]"
if alsabar.followmouse then if alsabar.followmouse then
preset.screen = mouse.screen preset.screen = mouse.screen
@ -94,14 +92,14 @@ function alsabar.notify()
end end
local function worker(args) local function worker(args)
local args = args or {} local args = args or {}
local timeout = args.timeout or 5 local timeout = args.timeout or 5
local settings = args.settings or function() end local settings = args.settings or function() end
local width = args.width or 63 local width = args.width or 63
local height = args.heigth or 1 local height = args.heigth or 1
local ticks = args.ticks or false local ticks = args.ticks or false
local ticks_size = args.ticks_size or 7 local ticks_size = args.ticks_size or 7
local vertical = args.vertical or false local vertical = args.vertical or false
alsabar.cmd = args.cmd or "amixer" alsabar.cmd = args.cmd or "amixer"
alsabar.channel = args.channel or alsabar.channel alsabar.channel = args.channel or alsabar.channel
@ -111,16 +109,20 @@ local function worker(args)
alsabar.notifications = args.notifications or alsabar.notifications alsabar.notifications = args.notifications or alsabar.notifications
alsabar.followmouse = args.followmouse or false alsabar.followmouse = args.followmouse or false
alsabar.bar = wibox.widget.progressbar() alsabar.bar = wibox.widget {
forced_height = height,
forced_width = width,
color = alsabar.colors.unmute,
background_color = alsabar.colors.background,
margins = 1,
paddings = 1,
ticks = ticks,
ticks_size = ticks_size,
widget = wibox.widget.progressbar,
layout = vertical and wibox.container.rotate
}
alsabar.bar:set_background_color(alsabar.colors.background)
alsabar.bar:set_color(alsabar.colors.unmute)
alsabar.tooltip = awful.tooltip({ objects = { alsabar.bar } }) alsabar.tooltip = awful.tooltip({ objects = { alsabar.bar } })
alsabar.bar:set_width(width)
alsabar.bar:set_height(height)
alsabar.bar:set_ticks(ticks)
alsabar.bar:set_ticks_size(ticks_size)
alsabar.bar:set_vertical(vertical)
function alsabar.update() function alsabar.update()
-- Get mixer control contents -- Get mixer control contents
@ -138,20 +140,21 @@ local function worker(args)
then then
alsabar._current_level = tonumber(volu) or alsabar._current_level alsabar._current_level = tonumber(volu) or alsabar._current_level
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" if (not mute and tonumber(volu) == 0) or mute == "off"
then then
alsabar._muted = true alsabar._muted = true
alsabar.tooltip:set_text (" [Muted] ") alsabar.tooltip:set_text ("[Muted]")
alsabar.bar:set_color(alsabar.colors.mute) alsabar.bar.color = alsabar.colors.mute
else else
alsabar._muted = false alsabar._muted = false
alsabar.tooltip:set_text(string.format(" %s:%s ", alsabar.channel, volu)) alsabar.tooltip:set_text(string.format("%s: %s", alsabar.channel, volu))
alsabar.bar:set_color(alsabar.colors.unmute) alsabar.bar.color = alsabar.colors.unmute
end end
volume_now = {} volume_now = {}
volume_now.level = tonumber(volu) volume_now.level = tonumber(volu)
volume_now.status = mute volume_now.status = mute
settings() settings()
end end
end end
@ -165,7 +168,7 @@ local function worker(args)
pulsebar.update() pulsebar.update()
end), end),
awful.button({}, 3, function() awful.button({}, 3, function()
awful.util.spawn(string.format("%s set %s toggle", alsabar.cmd, alsabar.channel)) awful.util.spawn(string.format("%s set %s toggle", alsabar.cmd, alsabar.togglechannel or alsabar.channel))
alsabar.update() alsabar.update()
end), end),
awful.button({}, 4, function() awful.button({}, 4, function()

View File

@ -58,23 +58,21 @@ function pulsebar.notify()
text = "", text = "",
timeout = 5, timeout = 5,
screen = pulsebar.notifications.screen, screen = pulsebar.notifications.screen,
font = pulsebar.notifications.font .. " " .. font = string.format("%s %s", alsabar.notifications.font,
pulsebar.notifications.font_size, alsabar.notifications.font_size),
fg = pulsebar.notifications.color fg = pulsebar.notifications.color
} }
if pulsebar._muted if pulsebar._muted
then then
preset.title = "Sink " .. pulsebar.sink .. " - Muted" preset.title = string.format("Sink %s - Muted", pulsebar.sink)
else else
preset.title = "Sink " .. pulsebar.sink .. " - " .. pulsebar._current_level .. "%" preset.title = string.format("%s - %s%%", pulsebar.sink, pulsebar._current_level)
end end
int = math.modf((pulsebar._current_level / 100) * pulsebar.notifications.bar_size) int = math.modf((pulsebar._current_level / 100) * pulsebar.notifications.bar_size)
preset.text = "[" preset.text = string.format("[%s%s]", string.rep("|", int),
.. string.rep("|", int) string.rep(" ", pulsebar.notifications.bar_size - int))
.. string.rep(" ", pulsebar.notifications.bar_size - int)
.. "]"
if pulsebar.followmouse then if pulsebar.followmouse then
preset.screen = mouse.screen preset.screen = mouse.screen
@ -110,16 +108,20 @@ local function worker(args)
pulsebar.step = args.step or pulsebar.step pulsebar.step = args.step or pulsebar.step
pulsebar.followmouse = args.followmouse or false pulsebar.followmouse = args.followmouse or false
pulsebar.bar = wibox.widget.progressbar() pulsebar.bar = wibox.widget {
forced_height = height,
forced_width = width,
color = pulsebar.colors.unmute,
background_color = pulsebar.colors.background,
margins = 1,
paddings = 1,
ticks = ticks,
ticks_size = ticks_size,
widget = wibox.widget.progressbar,
layout = vertical and wibox.container.rotate
}
pulsebar.bar:set_background_color(pulsebar.colors.background)
pulsebar.bar:set_color(pulsebar.colors.unmute)
pulsebar.tooltip = awful.tooltip({ objects = { pulsebar.bar } }) pulsebar.tooltip = awful.tooltip({ objects = { pulsebar.bar } })
pulsebar.bar:set_width(width)
pulsebar.bar:set_height(height)
pulsebar.bar:set_ticks(ticks)
pulsebar.bar:set_ticks_size(ticks_size)
pulsebar.bar:set_vertical(vertical)
function pulsebar.update() function pulsebar.update()
if scallback then pulseaudio.cmd = scallback() end if scallback then pulseaudio.cmd = scallback() end
@ -137,15 +139,15 @@ local function worker(args)
then then
pulsebar._current_level = volu pulsebar._current_level = 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" if (not mute and volu == 0) or mute == "yes"
then then
pulsebar._muted = true pulsebar._muted = true
pulsebar.tooltip:set_text (" [Muted] ") pulsebar.tooltip:set_text ("[Muted]")
pulsebar.bar:set_color(pulsebar.colors.mute) pulsebar.bar.color(pulsebar.colors.mute)
else else
pulsebar._muted = false pulsebar._muted = false
pulsebar.tooltip:set_text(string.format(" %s:%s ", pulsebar.sink, volu)) pulsebar.tooltip:set_text(string.format("%s: %s", pulsebar.sink, volu))
pulsebar.bar:set_color(pulsebar.colors.unmute) pulsebar.bar.color(pulsebar.colors.unmute)
end end
settings() settings()
end end

2
wiki

@ -1 +1 @@
Subproject commit f6270edc9e9d8ba83971fac3dbaca301c4792f34 Subproject commit bc5582fb3d3d7bf54f2848e9b58aa01c9c33d79e