2022-12-19 17:50:20 +01:00
|
|
|
local wezterm = require("wezterm")
|
|
|
|
|
|
|
|
local M = {}
|
|
|
|
|
2023-03-04 05:50:49 +01:00
|
|
|
-- fonts I like, with the settings I prefer
|
|
|
|
-- kept separately from the rest of the config so that I can easily change them
|
|
|
|
local fonts = {
|
|
|
|
berkeley = {
|
|
|
|
font = "Berkeley Mono",
|
|
|
|
size = 16,
|
|
|
|
},
|
|
|
|
comic = {
|
|
|
|
font = "Comic Code Ligatures",
|
|
|
|
size = 16,
|
|
|
|
},
|
|
|
|
victor = {
|
|
|
|
font = {
|
|
|
|
family = "Victor Mono",
|
|
|
|
weight = "DemiBold",
|
|
|
|
harfbuzz_features = { "ss02=1" },
|
2023-01-01 15:36:39 +01:00
|
|
|
},
|
2023-03-04 05:50:49 +01:00
|
|
|
size = 15,
|
|
|
|
},
|
|
|
|
}
|
2022-12-19 17:50:20 +01:00
|
|
|
|
2023-03-04 05:50:49 +01:00
|
|
|
M.get_font = function(name)
|
2023-01-01 15:36:39 +01:00
|
|
|
return {
|
2023-02-09 17:18:50 +01:00
|
|
|
font = wezterm.font_with_fallback({
|
|
|
|
fonts[name].font,
|
|
|
|
"Symbols Nerd Font",
|
|
|
|
}),
|
2023-01-01 15:36:39 +01:00
|
|
|
size = fonts[name].size,
|
|
|
|
}
|
2022-12-19 17:50:20 +01:00
|
|
|
end
|
|
|
|
|
2023-03-04 05:50:49 +01:00
|
|
|
wezterm.on("switch-font", function(window, _)
|
|
|
|
local next_font = next(fonts, wezterm.GLOBAL.font)
|
|
|
|
if next_font == nil then
|
|
|
|
next_font = next(fonts)
|
|
|
|
end
|
|
|
|
wezterm.GLOBAL.font = next_font
|
|
|
|
|
|
|
|
window:set_config_overrides({
|
|
|
|
font = M.get_font(next_font).font,
|
|
|
|
font_size = M.get_font(next_font).size,
|
|
|
|
})
|
|
|
|
end)
|
|
|
|
|
2022-12-19 17:50:20 +01:00
|
|
|
return M
|