local wezterm = require 'wezterm' local config = wezterm.config_builder() act = wezterm.action config.color_scheme = 'Gruvbox dark, hard (base16)' config.use_fancy_tab_bar = false config.hide_tab_bar_if_only_one_tab = true config.window_padding = { left = 4, right = 4, top = 4, bottom = 4, } config.inactive_pane_hsb = { saturation = 0.9, brightness = 0.8, } config.window_background_opacity = 0.95 config.colors = { tab_bar = { background = 'rgba(29, 32, 33, 95%)' } } font = wezterm.font_with_fallback { 'SAX2 Nerd Font', 'Fira Code', 'Noto Mono', } config.font = font config.font_rules = { { italic = true, font = font, } } config.adjust_window_size_when_changing_font_size = false config.leader = { key = 'a', mods = 'CTRL', timeout_milliseconds = 700 } config.keys = { { key = 'a', mods = 'LEADER|CTRL', action = act.SendKey { key = 'a', mods = 'CTRL' }, }, { key = 'c', mods = 'LEADER', action = act.SpawnTab "CurrentPaneDomain", }, { key = 'n', mods = 'LEADER', action = act.ActivateTabRelative(1), }, { key = 'p', mods = 'LEADER', action = act.ActivateTabRelative(-1), }, } for i = 1, 8 do table.insert(config.keys, { key = tostring(i), mods = 'ALT', action = act.ActivateTab(i - 1), }) end for key, dir in pairs({ h = 'Left', j = 'Down', k = 'Up', l = 'Right' }) do table.insert(config.keys, { key = key, mods = 'ALT', action = act.AdjustPaneSize { dir, 1 }, }) table.insert(config.keys, { key = key, mods = 'CTRL', action = act.ActivatePaneDirection(dir), }) table.insert(config.keys, { key = key, mods = 'LEADER', action = act.SplitPane { direction = dir }, }) end return config