awesome-wm-nice/config.lua

96 lines
2.9 KiB
Lua

local abutton = require "awful.button"
local gtable = require "gears.table"
local config = { mt = {}, _private = {} }
-- Titlebar
config._private.titlebar_height = 38
config._private.titlebar_radius = 9
config._private.titlebar_color = "#1E1E24"
config._private.titlebar_margin_left = 0
config._private.titlebar_margin_right = 0
config._private.titlebar_font = "Sans 11"
config._private.titlebar_items = {
left = { "close", "minimize", "maximize" },
middle = "title",
right = { "sticky", "ontop", "floating" },
}
config._private.context_menu_theme = {
bg_focus = "#aed9e0",
bg_normal = "#5e6472",
border_color = "#00000000",
border_width = 0,
fg_focus = "#242424",
fg_normal = "#fefefa",
font = "Sans 11",
height = 27.5,
width = 250,
}
config._private.win_shade_enabled = true
config._private.no_titlebar_maximized = false
config._private.mb_move = abutton.names.LEFT
config._private.mb_contextmenu = abutton.names.MIDDLE
config._private.mb_resize = abutton.names.RIGHT
config._private.mb_win_shade_rollup = abutton.names.SCROLL_UP
config._private.mb_win_shade_rolldown = abutton.names.SCROLL_DOWN
-- Titlebar Items
config._private.button_size = 16
config._private.button_margin_horizontal = 5
-- _private.button_margin_vertical
config._private.button_margin_top = 2
-- _private.button_margin_bottom = 0
-- _private.button_margin_left = 0
-- _private.button_margin_right = 0
config._private.tooltips_enabled = true
config._private.tooltip_messages = {
close = "close",
minimize = "minimize",
maximize_active = "unmaximize",
maximize_inactive = "maximize",
floating_active = "enable tiling mode",
floating_inactive = "enable floating mode",
ontop_active = "don't keep above other windows",
ontop_inactive = "keep above other windows",
sticky_active = "disable sticky mode",
sticky_inactive = "enable sticky mode",
}
config._private.close_color = "#ee4266"
config._private.minimize_color = "#ffb400"
config._private.maximize_color = "#4CBB17"
config._private.floating_color = "#f6a2ed"
config._private.ontop_color = "#f6a2ed"
config._private.sticky_color = "#f6a2ed"
function config.init(args)
-- properties that are table
local table_args = {
titlebar_items = true,
context_menu_theme = true,
tooltip_messages = true,
}
-- Apply changes to our _private properties
if args then
for prop, value in pairs(args) do
if table_args[prop] == true then
gtable.crush(config._private[prop], value)
elseif prop == "titlebar_radius" then
config._private[prop] = math.max(3, value)
else
config._private[prop] = value
end
end
end
end
function config.mt:__index(k)
return config._private[k]
end
function config.mt:__newindex(k, v)
config._private[k] = v
end
return setmetatable(config, config.mt)