73 lines
1.6 KiB
Lua
73 lines
1.6 KiB
Lua
local tinsert = table.insert
|
|
local pairs = pairs
|
|
|
|
-- Awesome Libs
|
|
local aplacement = require('awful.placement')
|
|
local apopup = require('awful.popup')
|
|
local beautiful = require('beautiful')
|
|
local dpi = require('beautiful').xresources.apply_dpi
|
|
local wibox = require('wibox')
|
|
|
|
local function prepare_widgets(w)
|
|
local layout = {
|
|
layout = wibox.layout.fixed.horizontal,
|
|
}
|
|
for i, widget in pairs(w) do
|
|
if i == 1 then
|
|
tinsert(layout,
|
|
{
|
|
widget,
|
|
left = dpi(6),
|
|
right = dpi(3),
|
|
top = dpi(6),
|
|
bottom = dpi(6),
|
|
widget = wibox.container.margin,
|
|
})
|
|
elseif i == #w then
|
|
tinsert(layout,
|
|
{
|
|
widget,
|
|
left = dpi(3),
|
|
right = dpi(6),
|
|
top = dpi(6),
|
|
bottom = dpi(6),
|
|
widget = wibox.container.margin,
|
|
})
|
|
else
|
|
tinsert(layout,
|
|
{
|
|
widget,
|
|
left = dpi(3),
|
|
right = dpi(3),
|
|
top = dpi(6),
|
|
bottom = dpi(6),
|
|
widget = wibox.container.margin,
|
|
})
|
|
end
|
|
end
|
|
return layout
|
|
end
|
|
|
|
return setmetatable({}, {
|
|
__call = function(_, s, w)
|
|
local top_left = apopup {
|
|
screen = s,
|
|
widget = {
|
|
prepare_widgets(w),
|
|
widget = wibox.container.constraint,
|
|
strategy = 'exact',
|
|
height = dpi(50),
|
|
},
|
|
ontop = false,
|
|
bg = beautiful.colorscheme.bg,
|
|
visible = true,
|
|
maximum_width = dpi(850),
|
|
placement = function(c) aplacement.top_left(c, { margins = dpi(10) }) end,
|
|
}
|
|
|
|
top_left:struts {
|
|
top = dpi(60),
|
|
}
|
|
end,
|
|
})
|