Files
japanese-srs-trainer-wanikani/awesome/src/modules/crylia_bar/left_bar.lua
2023-04-20 01:04:06 +02:00

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,
})