mirror of https://github.com/lcpz/lain.git
{alsa,pulse}bar updated to awesome 4.0
This commit is contained in:
parent
64540340db
commit
1bd178f687
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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
2
wiki
|
@ -1 +1 @@
|
||||||
Subproject commit f6270edc9e9d8ba83971fac3dbaca301c4792f34
|
Subproject commit bc5582fb3d3d7bf54f2848e9b58aa01c9c33d79e
|
Loading…
Reference in New Issue