2024-09-24 23:26:29 -04:00
|
|
|
local wezterm = require 'wezterm'
|
|
|
|
local config = wezterm.config_builder()
|
|
|
|
local act = wezterm.action
|
|
|
|
|
|
|
|
-- config.default_prog = { 'fish', '-l' }
|
|
|
|
|
|
|
|
config.enable_wayland = false;
|
2024-09-26 22:00:05 -04:00
|
|
|
config.front_end = "WebGpu";
|
2024-09-24 23:26:29 -04:00
|
|
|
|
|
|
|
local bar = wezterm.plugin.require("https://github.com/adriankarlen/bar.wezterm")
|
|
|
|
|
|
|
|
config.font_size = 12
|
|
|
|
config.font = wezterm.font {
|
|
|
|
family = 'JetBrains Mono',
|
|
|
|
weight = 'Medium'
|
|
|
|
}
|
|
|
|
|
|
|
|
config.color_scheme = 'Adventure'
|
|
|
|
|
|
|
|
config.colors = {
|
|
|
|
tab_bar = {
|
|
|
|
inactive_tab = {
|
|
|
|
fg_color = "#444444",
|
|
|
|
bg_color = "#000000"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
config.window_decorations = "TITLE|RESIZE"
|
|
|
|
|
|
|
|
config.window_padding = {
|
|
|
|
left = 12,
|
|
|
|
right = 12,
|
|
|
|
top = 6,
|
|
|
|
bottom = 6,
|
|
|
|
}
|
|
|
|
|
|
|
|
config.cursor_thickness = 2
|
|
|
|
config.default_cursor_style = 'SteadyBar'
|
|
|
|
|
|
|
|
config.use_fancy_tab_bar = false
|
|
|
|
config.tab_bar_at_bottom = true
|
|
|
|
|
|
|
|
config.enable_kitty_keyboard = true
|
|
|
|
|
|
|
|
config.keys = {
|
|
|
|
{
|
|
|
|
key = 'Enter',
|
2024-10-08 16:48:50 -04:00
|
|
|
mods = 'CTRL',
|
2024-09-24 23:26:29 -04:00
|
|
|
action = act.SplitVertical { domain = 'CurrentPaneDomain' },
|
|
|
|
},
|
|
|
|
{
|
|
|
|
key = 'Enter',
|
2024-10-08 16:48:50 -04:00
|
|
|
mods = 'CTRL|SHIFT',
|
2024-09-24 23:26:29 -04:00
|
|
|
action = act.SplitHorizontal { domain = 'CurrentPaneDomain' },
|
|
|
|
},
|
2024-10-08 16:48:50 -04:00
|
|
|
{
|
|
|
|
key = 'w',
|
|
|
|
mods = 'CTRL',
|
|
|
|
action = wezterm.action.CloseCurrentTab { confirm = true },
|
|
|
|
},
|
2024-09-24 23:26:29 -04:00
|
|
|
{
|
|
|
|
key = 'k',
|
2024-10-08 16:48:50 -04:00
|
|
|
mods = 'CTRL',
|
2024-09-24 23:26:29 -04:00
|
|
|
action = act.Multiple {
|
|
|
|
act.ClearScrollback 'ScrollbackAndViewport',
|
|
|
|
act.SendKey { key = 'L', mods = 'CTRL' },
|
|
|
|
},
|
|
|
|
},
|
2024-10-08 16:48:50 -04:00
|
|
|
{
|
|
|
|
key = 'w',
|
|
|
|
mods = 'CTRL',
|
|
|
|
action = wezterm.action.CloseCurrentPane { confirm = true },
|
|
|
|
},
|
|
|
|
|
|
|
|
{ key='t', mods='CTRL', action=act { SpawnCommandInNewTab = { cwd = wezterm.home_dir } } },
|
|
|
|
|
|
|
|
{key="LeftArrow", mods="CTRL|META", action=act.ActivateTabRelative(-1)},
|
|
|
|
{key="RightArrow", mods="CTRL|META", action=act.ActivateTabRelative(1)},
|
2024-09-24 23:26:29 -04:00
|
|
|
|
2024-10-08 16:48:50 -04:00
|
|
|
{key="UpArrow", mods="CTRL|META", action=act.ActivatePaneDirection("Prev")},
|
|
|
|
{key="DownArrow", mods="CTRL|META", action=act.ActivatePaneDirection("Next")},
|
2024-09-24 23:26:29 -04:00
|
|
|
|
2024-10-08 16:48:50 -04:00
|
|
|
{ key='h', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Left"} },
|
|
|
|
{ key='l', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Right"} },
|
|
|
|
{ key='j', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Up"} },
|
|
|
|
{ key='k', mods='CTRL|META', action=wezterm.action{ActivatePaneDirection="Down"} },
|
2024-09-24 23:26:29 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
local barconfig = {
|
|
|
|
position = "bottom",
|
|
|
|
max_width = 32,
|
|
|
|
separator = {
|
|
|
|
space = 2,
|
|
|
|
left_icon = wezterm.nerdfonts.fa_long_arrow_right,
|
|
|
|
right_icon = wezterm.nerdfonts.fa_long_arrow_left,
|
|
|
|
field_icon = wezterm.nerdfonts.indent_line,
|
|
|
|
},
|
|
|
|
modules = {
|
|
|
|
tabs = {
|
|
|
|
active_tab_fg = 4,
|
|
|
|
inactive_tab_fg = 8, -- overridden by tab colour customization near the top
|
|
|
|
},
|
|
|
|
workspace = {
|
|
|
|
enabled = true,
|
|
|
|
icon = wezterm.nerdfonts.cod_window,
|
|
|
|
color = 8,
|
|
|
|
},
|
|
|
|
leader = {
|
|
|
|
enabled = true,
|
|
|
|
icon = wezterm.nerdfonts.oct_rocket,
|
|
|
|
color = 2,
|
|
|
|
},
|
|
|
|
pane = {
|
|
|
|
enabled = false,
|
|
|
|
icon = wezterm.nerdfonts.cod_multiple_windows,
|
|
|
|
color = 7,
|
|
|
|
},
|
|
|
|
username = {
|
|
|
|
enabled = false,
|
|
|
|
icon = wezterm.nerdfonts.fa_user,
|
|
|
|
color = 6,
|
|
|
|
},
|
|
|
|
hostname = {
|
|
|
|
enabled = false,
|
|
|
|
icon = wezterm.nerdfonts.cod_server,
|
|
|
|
color = 8,
|
|
|
|
},
|
|
|
|
clock = {
|
|
|
|
enabled = false,
|
|
|
|
icon = wezterm.nerdfonts.md_calendar_clock,
|
|
|
|
color = 5,
|
|
|
|
},
|
|
|
|
cwd = {
|
|
|
|
enabled = false,
|
|
|
|
icon = wezterm.nerdfonts.oct_file_directory,
|
|
|
|
color = 7,
|
|
|
|
},
|
|
|
|
spotify = {
|
|
|
|
enabled = false,
|
|
|
|
icon = wezterm.nerdfonts.fa_spotify,
|
|
|
|
color = 3,
|
|
|
|
max_width = 64,
|
|
|
|
throttle = 15,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
bar.apply_to_config(config, barconfig)
|
|
|
|
|
|
|
|
return config
|