Marty Oehme
a16e0eead7
Set up wezterm to continue to use Iosevka for everything *except* italics (in all weights) which will instead be displayed by the Victor font. This ultimately results in cursive fonts for italics and Iosevka for everything else, very pretty.
81 lines
2.2 KiB
Lua
81 lines
2.2 KiB
Lua
local wezterm = require 'wezterm'
|
|
|
|
local maps = require 'maps'
|
|
|
|
require 'statusbar'.setup()
|
|
require 'events'.setup()
|
|
|
|
local function file_exists(name)
|
|
local f = io.open(name, "r")
|
|
if f ~= nil then
|
|
io.close(f)
|
|
return true
|
|
else
|
|
return false
|
|
end
|
|
end
|
|
|
|
-- automatically reload colors file
|
|
local colorsfile = (os.getenv('XDG_STATE_HOME') or
|
|
(os.getenv('HOME') .. '/.local/state')) ..
|
|
'/wezterm/colors.toml'
|
|
local colors = {}
|
|
if file_exists(colorsfile) == true then
|
|
wezterm.add_to_config_reload_watch_list(colorsfile)
|
|
colors = wezterm.color.load_scheme(colorsfile)
|
|
end
|
|
|
|
local settings = {
|
|
enable_wayland = true,
|
|
hide_tab_bar_if_only_one_tab = true,
|
|
use_fancy_tab_bar = false,
|
|
tab_bar_at_bottom = true,
|
|
window_padding = { left = 0, right = 0, top = 0, bottom = 0 },
|
|
colors = colors,
|
|
color_scheme = "Nord (base16)", -- will be overwritten by colors
|
|
-- default_prog = {"nu"},
|
|
scrollback_lines = 10000,
|
|
font = wezterm.font('Iosevka Nerd Font'),
|
|
-- add cursive italic font from Victor font for all weights
|
|
font_rules = {
|
|
{
|
|
intensity = 'Bold',
|
|
italic = true,
|
|
font = wezterm.font {
|
|
family = 'VictorMono Nerd Font',
|
|
weight = 'Bold',
|
|
style = 'Italic',
|
|
},
|
|
},
|
|
{
|
|
italic = true,
|
|
intensity = 'Half',
|
|
font = wezterm.font {
|
|
family = 'VictorMono Nerd Font',
|
|
weight = 'DemiBold',
|
|
style = 'Italic',
|
|
},
|
|
},
|
|
{
|
|
italic = true,
|
|
intensity = 'Normal',
|
|
font = wezterm.font {
|
|
family = 'VictorMono Nerd Font',
|
|
style = 'Italic',
|
|
},
|
|
},
|
|
},
|
|
line_height = 1.0,
|
|
leader = { key = 'a', mods = 'CTRL', timeout_milliseconds = 1500 },
|
|
keys = maps.keys,
|
|
key_tables = maps.key_tables,
|
|
mouse_bindings = {
|
|
{
|
|
event = { Up = { streak = 1, button = 'Left' } },
|
|
mods = 'NONE',
|
|
action = wezterm.action
|
|
.CompleteSelectionOrOpenLinkAtMouseCursor 'ClipboardAndPrimarySelection'
|
|
}
|
|
}
|
|
}
|
|
return settings
|