blob: 6f257b51539c38c33f11511b0aea8ecc51bc8fd2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
local awful = require("awful")
local wibox = require("wibox")
local pavolctld = require("lib.pavolctld")
local volume_dropdown = require("widgets.volumedropdown")
-- ensure pavolctld loaded
if not pavolctld then return wibox.widget.textbox("err") end
-- return table
local widget = {}
widget.textbox = wibox.widget.textbox()
widget.tooltip = awful.tooltip { objects = {widget.textbox}, delay_show = 1 }
widget.dropdown = volume_dropdown
-- widget callbacks
pavolctld.set_volume_change_callback(function()
widget.textbox:set_text(pavolctld.sinks.default.vol)
widget.dropdown.set_volume(pavolctld.sinks.default.vol, pavolctld.sinks.default.mute)
widget.dropdown.dbmeter:set_text(pavolctld.sinks.default.db .. " dB")
end)
pavolctld.set_sink_change_callback(function()
widget.tooltip:set_text(pavolctld.sinks.default.desc)
end)
pavolctld.set_default_sink_change_callback(function()
widget.textbox:set_text(pavolctld.sinks.default.vol)
widget.tooltip:set_text(pavolctld.sinks.default.desc)
widget.dropdown.set_volume(pavolctld.sinks.default.vol, pavolctld.sinks.default.mute)
widget.dropdown.dbmeter:set_text(pavolctld.sinks.default.db .. " dB")
widget.dropdown.defsink:set_text(pavolctld.sinks.default.desc)
end)
return widget
|