X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/153806998fc4a68495b93ee87d9ba2d0104da30d..64540340dbe9071bc716c73ca4c90df14fdd6302:/widgets/pulsebar.lua?ds=inline diff --git a/widgets/pulsebar.lua b/widgets/pulsebar.lua index 6955b04..9bac521 100644 --- a/widgets/pulsebar.lua +++ b/widgets/pulsebar.lua @@ -1,10 +1,10 @@ --[[ - - Licensed under GNU General Public License v2 - * (c) 2013, Luke Bonham - * (c) 2013, Rman - + + Licensed under GNU General Public License v2 + * (c) 2013, Luke Bonham + * (c) 2013, Rman + --]] local newtimer = require("lain.helpers").newtimer @@ -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) @@ -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)