165 lines
3.5 KiB
Lua
165 lines
3.5 KiB
Lua
|
local wezterm = require("wezterm")
|
||
|
|
||
|
local function font_with_fallback(name, params)
|
||
|
local names = { name, "Apple Color Emoji", "azuki_font" }
|
||
|
return wezterm.font_with_fallback(names, params)
|
||
|
end
|
||
|
|
||
|
local font_name = "JetBrainsMonoNL NF"
|
||
|
|
||
|
return {
|
||
|
-- OpenGL for GPU acceleration, Software for CPU
|
||
|
front_end = "OpenGL",
|
||
|
|
||
|
color_scheme = 'Catppuccin Mocha',
|
||
|
|
||
|
-- Font config
|
||
|
font = font_with_fallback(font_name),
|
||
|
font_rules = {
|
||
|
{
|
||
|
italic = true,
|
||
|
font = font_with_fallback(font_name, { italic = true }),
|
||
|
},
|
||
|
{
|
||
|
italic = false,
|
||
|
font = font_with_fallback(font_name, { bold = true }),
|
||
|
},
|
||
|
{
|
||
|
intensity = "Bold",
|
||
|
font = font_with_fallback(font_name, { bold = true }),
|
||
|
},
|
||
|
},
|
||
|
warn_about_missing_glyphs = false,
|
||
|
font_size = 10,
|
||
|
line_height = 1.0,
|
||
|
dpi = 96.0,
|
||
|
|
||
|
-- Cursor style
|
||
|
default_cursor_style = "BlinkingUnderline",
|
||
|
|
||
|
-- X11
|
||
|
enable_wayland = true,
|
||
|
|
||
|
-- Keybinds
|
||
|
disable_default_key_bindings = true,
|
||
|
keys = {
|
||
|
{
|
||
|
key = [[\]],
|
||
|
mods = "CTRL|ALT",
|
||
|
action = wezterm.action({
|
||
|
SplitHorizontal = { domain = "CurrentPaneDomain" },
|
||
|
}),
|
||
|
},
|
||
|
{
|
||
|
key = [[\]],
|
||
|
mods = "CTRL",
|
||
|
action = wezterm.action({
|
||
|
SplitVertical = { domain = "CurrentPaneDomain" },
|
||
|
}),
|
||
|
},
|
||
|
{
|
||
|
key = "q",
|
||
|
mods = "CTRL",
|
||
|
action = wezterm.action({ CloseCurrentPane = { confirm = false } }),
|
||
|
},
|
||
|
{
|
||
|
key = "h",
|
||
|
mods = "CTRL|SHIFT",
|
||
|
action = wezterm.action({ ActivatePaneDirection = "Left" }),
|
||
|
},
|
||
|
{
|
||
|
key = "l",
|
||
|
mods = "CTRL|SHIFT",
|
||
|
action = wezterm.action({ ActivatePaneDirection = "Right" }),
|
||
|
},
|
||
|
{
|
||
|
key = "k",
|
||
|
mods = "CTRL|SHIFT",
|
||
|
action = wezterm.action({ ActivatePaneDirection = "Up" }),
|
||
|
},
|
||
|
{
|
||
|
key = "j",
|
||
|
mods = "CTRL|SHIFT",
|
||
|
action = wezterm.action({ ActivatePaneDirection = "Down" }),
|
||
|
},
|
||
|
{
|
||
|
key = "h",
|
||
|
mods = "CTRL|SHIFT|ALT",
|
||
|
action = wezterm.action({ AdjustPaneSize = { "Left", 1 } }),
|
||
|
},
|
||
|
{
|
||
|
key = "l",
|
||
|
mods = "CTRL|SHIFT|ALT",
|
||
|
action = wezterm.action({ AdjustPaneSize = { "Right", 1 } }),
|
||
|
},
|
||
|
{
|
||
|
key = "k",
|
||
|
mods = "CTRL|SHIFT|ALT",
|
||
|
action = wezterm.action({ AdjustPaneSize = { "Up", 1 } }),
|
||
|
},
|
||
|
{
|
||
|
key = "j",
|
||
|
mods = "CTRL|SHIFT|ALT",
|
||
|
action = wezterm.action({ AdjustPaneSize = { "Down", 1 } }),
|
||
|
},
|
||
|
{ -- browser-like bindings for tabbing
|
||
|
key = "t",
|
||
|
mods = "CTRL",
|
||
|
action = wezterm.action({ SpawnTab = "CurrentPaneDomain" }),
|
||
|
},
|
||
|
{
|
||
|
key = "w",
|
||
|
mods = "CTRL",
|
||
|
action = wezterm.action({ CloseCurrentTab = { confirm = false } }),
|
||
|
},
|
||
|
{
|
||
|
key = "Tab",
|
||
|
mods = "CTRL",
|
||
|
action = wezterm.action({ ActivateTabRelative = 1 }),
|
||
|
},
|
||
|
{
|
||
|
key = "Tab",
|
||
|
mods = "CTRL|SHIFT",
|
||
|
action = wezterm.action({ ActivateTabRelative = -1 }),
|
||
|
}, -- standard copy/paste bindings
|
||
|
{
|
||
|
key = "x",
|
||
|
mods = "CTRL",
|
||
|
action = "ActivateCopyMode",
|
||
|
},
|
||
|
{
|
||
|
key = "v",
|
||
|
mods = "CTRL|SHIFT",
|
||
|
action = wezterm.action({ PasteFrom = "Clipboard" }),
|
||
|
},
|
||
|
{
|
||
|
key = "c",
|
||
|
mods = "CTRL|SHIFT",
|
||
|
action = wezterm.action({ CopyTo = "ClipboardAndPrimarySelection" }),
|
||
|
},
|
||
|
},
|
||
|
|
||
|
-- Aesthetic Night Colorscheme
|
||
|
bold_brightens_ansi_colors = true,
|
||
|
-- Padding
|
||
|
window_padding = {
|
||
|
left = 25,
|
||
|
right = 25,
|
||
|
top = 25,
|
||
|
bottom = 25,
|
||
|
},
|
||
|
|
||
|
-- Tab Bar
|
||
|
enable_tab_bar = true,
|
||
|
hide_tab_bar_if_only_one_tab = true,
|
||
|
show_tab_index_in_tab_bar = false,
|
||
|
tab_bar_at_bottom = true,
|
||
|
|
||
|
-- General
|
||
|
automatically_reload_config = true,
|
||
|
inactive_pane_hsb = { saturation = 1.0, brightness = 1.0 },
|
||
|
window_background_opacity = 0.5,
|
||
|
window_close_confirmation = "NeverPrompt",
|
||
|
window_frame = { active_titlebar_bg = "#45475a", font = font_with_fallback(font_name, { bold = true }) },
|
||
|
}
|