1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
local awful = require "awful"
local btns = awful.button.names
local gears = require "gears"
local xresources = require "beautiful.xresources"
local x_col = xresources.get_current_theme()
local dpi = xresources.apply_dpi
local wibox = require "wibox"
---@class QuarrelVars
local qvars = {}
qvars.anim_duration = 0.20
qvars.anim_intro = qvars.anim_duration / 4
qvars.notif_timeout = 3
--- Clip Cairo context
---@param cr cairo_surface Cairo surface
---@param w integer Widget width
---@param h integer Widget height
---@return nil
function qvars.shape(cr, w, h)
gears.shape.rounded_rect(cr, w, h, dpi(4))
end
qvars.border_width = dpi(1.5)
qvars.padding = dpi(4)
qvars.big_padding = dpi(8)
-- qvars.text_font = "Fira Code Nerd Font Mono Medium"
-- qvars.text_font = "Iosevka Comfy SemiBold"
qvars.text_font = "Iosevka Comfy Regular"
-- qvars.font_size = 8
qvars.font_size = 9
qvars.font = qvars.text_font .. " " .. qvars.font_size
local char_width, char_height = wibox
.widget({
widget = wibox.widget.textbox,
text = "a",
})
:get_preferred_size_at_dpi(awful.screen.focused().dpi)
qvars.char_height = char_height
qvars.char_width = char_width
qvars.bar_size = dpi(24) + qvars.big_padding * 2
qvars.element_size = dpi(12)
qvars.expanded_bar_size = qvars.big_padding + (qvars.big_padding * 2 + qvars.element_size * 4) * 3 + qvars.padding * 2
qvars.colors = {
fg = x_col.foreground,
bg = x_col.background,
black = x_col.color0,
red = x_col.color1,
green = x_col.color2,
yellow = x_col.color3,
blue = x_col.color4,
pink = x_col.color5,
cyan = x_col.color6,
white = x_col.color7,
bright = {
black = x_col.color8,
red = x_col.color9,
green = x_col.color10,
yellow = x_col.color11,
blue = x_col.color12,
pink = x_col.color13,
cyan = x_col.color14,
white = x_col.color15,
},
dim = {
fg = "#77828c",
bg = "#161b22",
},
transparent = "#00000000",
}
-- taken from https://github.com/bew/dotfiles/blob/ab9bb1935783f7a31ef777b1d7e26d53f35df864/gui/wezterm/cfg_utils.lua
qvars.mods = setmetatable({ _SHORT_MAP = { C = "Control", S = "Shift", A = "Mod1", M = "Mod4" } }, {
__index = function(self, key)
local resolved_mods = {}
for i = 1, #key do
resolved_mods[i] = self._SHORT_MAP[key:sub(i, i)]
end
return resolved_mods
end,
})
---@enum buttons
qvars.btns = {
left = btns.LEFT,
right = btns.RIGHT,
middle = btns.MIDDLE,
up = btns.SCROLL_UP,
down = btns.SCROLL_DOWN,
}
return qvars
|