51 lines
1.2 KiB
Lua
51 lines
1.2 KiB
Lua
--------------------------------
|
|
-- This is the power widget --
|
|
--------------------------------
|
|
|
|
-- Awesome Libs
|
|
local dpi = require('beautiful').xresources.apply_dpi
|
|
local wibox = require('wibox')
|
|
|
|
local capi = { awesome = awesome }
|
|
|
|
-- Systray theme variables
|
|
Theme.bg_systray = Theme_config.systray.bg
|
|
Theme.systray_icon_spacing = dpi(10)
|
|
|
|
return function()
|
|
local systray = wibox.widget {
|
|
{
|
|
{
|
|
wibox.widget.systray(),
|
|
id = 'systray_margin',
|
|
widget = wibox.container.margin,
|
|
},
|
|
strategy = 'exact',
|
|
widget = wibox.container.constraint,
|
|
},
|
|
widget = wibox.container.background,
|
|
shape = Theme_config.systray.shape,
|
|
bg = Theme_config.systray.bg
|
|
}
|
|
|
|
local systray_margin = systray:get_children_by_id('systray_margin')[1]
|
|
|
|
-- Wait for an systray update
|
|
capi.awesome.connect_signal('systray::update', function()
|
|
-- Get the number of entries in the systray
|
|
local num_entries = capi.awesome.systray()
|
|
|
|
-- If its 0 remove the margins to hide the widget
|
|
if num_entries == 0 then
|
|
systray_margin:set_margins(0)
|
|
else
|
|
systray_margin:set_margins(dpi(6))
|
|
end
|
|
end)
|
|
|
|
-- Set the icon size
|
|
systray_margin.widget:set_base_size(dpi(24))
|
|
|
|
return systray
|
|
end
|