--[[
-
- 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
local awful = require("awful")
local beautiful = require("beautiful")
local naughty = require("naughty")
+local wibox = require("wibox")
local math = { modf = math.modf }
local mouse = mouse
-- lain.widgets.pulsebar
local pulsebar = {
sink = 0,
+ step = "1%",
colors = {
background = beautiful.bg_normal,
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)
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)