X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/687b76a56566c3390695b8a23535704aa9046ff7..cf2c44249973125a51c370311e7361d9c1e84771:/widgets/pulsebar.lua diff --git a/widgets/pulsebar.lua b/widgets/pulsebar.lua index fc697fa..9bac521 100644 --- a/widgets/pulsebar.lua +++ b/widgets/pulsebar.lua @@ -13,6 +13,7 @@ local read_pipe = require("lain.helpers").read_pipe local awful = require("awful") local beautiful = require("beautiful") local naughty = require("naughty") +local wibox = require("wibox") local math = { modf = math.modf } local mouse = mouse @@ -27,6 +28,7 @@ local setmetatable = setmetatable -- lain.widgets.pulsebar local pulsebar = { sink = 0, + step = "1%", colors = { background = beautiful.bg_normal, @@ -105,9 +107,10 @@ local function worker(args) pulsebar.colors = args.colors or pulsebar.colors pulsebar.notifications = args.notifications or pulsebar.notifications pulsebar.sink = args.sink or 0 + pulsebar.step = args.step or pulsebar.step pulsebar.followmouse = args.followmouse or false - pulsebar.bar = awful.widget.progressbar() + pulsebar.bar = wibox.widget.progressbar() pulsebar.bar:set_background_color(pulsebar.colors.background) pulsebar.bar:set_color(pulsebar.colors.unmute) @@ -134,7 +137,7 @@ local function worker(args) then pulsebar._current_level = volu pulsebar.bar:set_value(pulsebar._current_level / 100) - if not mute and volu == 0 or mute == "no" + if not mute and volu == 0 or mute == "yes" then pulsebar._muted = true pulsebar.tooltip:set_text (" [Muted] ") @@ -148,10 +151,26 @@ local function worker(args) end end - pulsebar.bar:buttons (awful.util.table.join ( - awful.button ({}, 1, function() + pulsebar.bar:buttons(awful.util.table.join ( + awful.button({}, 1, function() awful.util.spawn(pulsebar.mixer) - end) + end), + awful.button({}, 2, function() + awful.util.spawn(string.format("pactl set-sink-volume %d 100%%", pulsebar.sink)) + pulsebar.update() + end), + awful.button({}, 3, function() + awful.util.spawn(string.format("pactl set-sink-mute %d toggle", pulsebar.sink)) + pulsebar.update() + end), + awful.button({}, 4, function() + awful.util.spawn(string.format("pactl set-sink-volume %d +%s", pulsebar.sink, pulsebar.step)) + pulsebar.update() + end), + awful.button({}, 5, function() + awful.util.spawn(string.format("pactl set-sink-volume %d -%s", pulsebar.sink, pulsebar.step)) + pulsebar.update() + end) )) timer_id = string.format("pulsebar-%s", pulsebar.sink)