local wezterm = require 'wezterm' local config = wezterm.config_builder() local act = wezterm.action -- config.default_prog = { 'fish', '-l' } config.enable_wayland = false; config.front_end = "WebGpu"; 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.unzoom_on_switch_pane = true config.keys = { { key = 'Enter', mods = 'CTRL', action = act.SplitVertical { domain = 'CurrentPaneDomain' }, }, { key = 'Enter', mods = 'CTRL|SHIFT', action = act.SplitHorizontal { domain = 'CurrentPaneDomain' }, }, { key = 'w', mods = 'CTRL', action = wezterm.action.CloseCurrentTab { confirm = true }, }, { key = 'k', mods = 'CTRL|SHIFT', action = act.Multiple { act.ClearScrollback 'ScrollbackAndViewport', act.SendKey { key = 'L', mods = 'CTRL' }, }, }, { key = 'z', mods = 'CTRL|META', action = wezterm.action.TogglePaneZoomState, }, { key = 'w', mods = 'CTRL', action = wezterm.action.CloseCurrentPane { confirm = true }, }, { key="Backspace", mods="CTRL", action=act.SendKey { key="Backspace", mods="META" } }, { 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)}, {key="UpArrow", mods="CTRL|META", action=act.ActivatePaneDirection("Prev")}, {key="DownArrow", mods="CTRL|META", action=act.ActivatePaneDirection("Next")}, { 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"} }, } 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