{alsa,pulse}bar: added margins/paddings args

This commit is contained in:
lcpz 2018-10-28 12:59:00 +00:00
parent be69daf964
commit f58970997e
3 changed files with 26 additions and 43 deletions

View File

@ -6,15 +6,12 @@
--]] --]]
local helpers = require("lain.helpers") local helpers = require("lain.helpers")
local awful = require("awful") local awful = require("awful")
local naughty = require("naughty") local naughty = require("naughty")
local wibox = require("wibox") local wibox = require("wibox")
local math = { modf = math.modf }
local string = { format = string.format, local math, string, type, tonumber = math, string, type, tonumber
match = string.match,
rep = string.rep }
local type, tonumber = type, tonumber
-- ALSA volume bar -- ALSA volume bar
-- lain.widget.alsabar -- lain.widget.alsabar
@ -40,7 +37,6 @@ local function factory(args)
local paddings = args.paddings or 1 local paddings = args.paddings 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 step = args.step or '5%'
alsabar.cmd = args.cmd or "amixer" alsabar.cmd = args.cmd or "amixer"
alsabar.channel = args.channel or "Master" alsabar.channel = args.channel or "Master"
@ -54,23 +50,20 @@ local function factory(args)
alsabar.notification_preset.font = "Monospace 10" alsabar.notification_preset.font = "Monospace 10"
end end
local format_get_cmd = string.format("%s get %s", alsabar.cmd, alsabar.channel) local format_cmd = string.format("%s get %s", alsabar.cmd, alsabar.channel)
local format_inc_cmd = string.format("%s sset %s %s+", alsabar.cmd, alsabar.channel, step)
local format_dec_cmd = string.format("%s sset %s %s-" , alsabar.cmd, alsabar.channel, step)
local format_tog_cmd = string.format("%s sset %s toggle", alsabar.cmd, alsabar.channel)
if alsabar.togglechannel then if alsabar.togglechannel then
format_get_cmd = { awful.util.shell, "-c", string.format("%s get %s; %s get %s", format_cmd = { awful.util.shell, "-c", string.format("%s get %s; %s get %s",
alsabar.cmd, alsabar.channel, alsabar.cmd, alsabar.togglechannel) } alsabar.cmd, alsabar.channel, alsabar.cmd, alsabar.togglechannel) }
end end
alsabar.bar = wibox.widget { alsabar.bar = wibox.widget {
forced_height = height,
forced_width = width,
color = alsabar.colors.unmute, color = alsabar.colors.unmute,
background_color = alsabar.colors.background, background_color = alsabar.colors.background,
forced_height = height,
forced_width = width,
margins = margins, margins = margins,
paddings = paddings, paddings = margins,
ticks = ticks, ticks = ticks,
ticks_size = ticks_size, ticks_size = ticks_size,
widget = wibox.widget.progressbar widget = wibox.widget.progressbar
@ -79,7 +72,7 @@ local function factory(args)
alsabar.tooltip = awful.tooltip({ objects = { alsabar.bar } }) alsabar.tooltip = awful.tooltip({ objects = { alsabar.bar } })
function alsabar.update(callback) function alsabar.update(callback)
helpers.async(format_get_cmd, function(mixer) helpers.async(format_cmd, function(mixer)
local vol, playback = string.match(mixer, "([%d]+)%%.*%[([%l]*)") local vol, playback = string.match(mixer, "([%d]+)%%.*%[([%l]*)")
if not vol or not playback then return end if not vol or not playback then return end
@ -152,14 +145,6 @@ local function factory(args)
helpers.newtimer(string.format("alsabar-%s-%s", alsabar.cmd, alsabar.channel), timeout, alsabar.update) helpers.newtimer(string.format("alsabar-%s-%s", alsabar.cmd, alsabar.channel), timeout, alsabar.update)
alsabar.bar:connect_signal("button::press", function(_,_,_,button)
if (button == 4) then awful.spawn(format_inc_cmd)
elseif (button == 5) then awful.spawn(format_dec_cmd)
elseif (button == 1) then awful.spawn(format_tog_cmd)
end
alsabar.update()
end)
return alsabar return alsabar
end end

View File

@ -6,16 +6,12 @@
--]] --]]
local helpers = require("lain.helpers") local helpers = require("lain.helpers")
local awful = require("awful") local awful = require("awful")
local naughty = require("naughty") local naughty = require("naughty")
local wibox = require("wibox") local wibox = require("wibox")
local math = { modf = math.modf }
local string = { format = string.format, local math, string, type, tonumber = math, string, type, tonumber
match = string.match,
gmatch = string.gmatch,
rep = string.rep }
local type, tonumber = type, tonumber
-- PulseAudio volume bar -- PulseAudio volume bar
-- lain.widget.pulsebar -- lain.widget.pulsebar
@ -37,7 +33,9 @@ local function factory(args)
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.height or 1
local margins = args.margins or 1
local paddings = args.paddings 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
@ -54,12 +52,12 @@ local function factory(args)
end end
pulsebar.bar = wibox.widget { pulsebar.bar = wibox.widget {
forced_height = height,
forced_width = width,
color = pulsebar.colors.unmute, color = pulsebar.colors.unmute,
background_color = pulsebar.colors.background, background_color = pulsebar.colors.background,
margins = 1, forced_height = height,
paddings = 1, forced_width = width,
margins = margins,
paddings = margins,
ticks = ticks, ticks = ticks,
ticks_size = ticks_size, ticks_size = ticks_size,
widget = wibox.widget.progressbar, widget = wibox.widget.progressbar,

2
wiki

@ -1 +1 @@
Subproject commit 1acb69eb3cf431b9102978c6117144980e8a2939 Subproject commit e6118121ad7e2c2a6d7a846e1ffc3762a42d5fe1