-- ------------------------------------------------------------------- -- rxyhn's aesthetic wezterm configuration -- A GPU-accelerated cross-platform terminal emulator and multiplexer -- -- https://github.com/rxyhn -- ------------------------------------------------------------------- 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 = "FiraCode Nerd Font" local colors = { -- special foreground = "#d9d7d6", darker_background = "#000a0e", background = "rgba(6,17,21,0)", lighter_background = "#0d181c", -- black color0 = "#1c252c", color8 = "#484e5b", -- red color1 = "#df5b61", color9 = "#f16269", -- green color2 = "#78b892", color10 = "#8cd7aa", -- yellow color3 = "#de8f78", color11 = "#e9967e", -- blue color4 = "#6791c9", color12 = "#79aaeb", -- magenta color5 = "#bc83e3", color13 = "#c488ec", -- cyan color6 = "#67afc1", color14 = "#7acfe4", -- white color7 = "#d9d7d6", color15 = "#e5e5e5", } return { -- OpenGL for GPU acceleration, Software for CPU front_end = "OpenGL", -- Font config font = font_with_fallback(font_name), font_rules = { { italic = true, font = font_with_fallback(font_name, { italic = true }) }, { italic = true, intensity = "Bold", font = font_with_fallback(font_name, { bold = true, italic = true }), }, { intensity = "Bold", font = font_with_fallback(font_name, { bold = true }), }, { intensity = "Half", font = font_with_fallback(font_name .. " Light") }, }, font_size = 11, line_height = 1.0, -- Cursor style default_cursor_style = "BlinkingUnderline", -- X11 enable_wayland = false, -- Keybinds disable_default_key_bindings = true, keys = { { key = [[\]], mods = "CTRL|SHIFT", 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 = false, colors = { background = colors.background, foreground = colors.foreground, cursor_bg = colors.foreground, cursor_fg = colors.foreground, cursor_border = colors.foreground, selection_fg = colors.background, selection_bg = colors.color4, scrollbar_thumb = colors.foreground, split = colors.lighter_background, ansi = { colors.color0, colors.color1, colors.color2, colors.color3, colors.color4, colors.color5, colors.color6, colors.color7, }, brights = { colors.color8, colors.color9, colors.color10, colors.color11, colors.color12, colors.color13, colors.color14, colors.color15, }, tab_bar = { active_tab = { bg_color = colors.background, fg_color = colors.color8, italic = true, }, inactive_tab = { bg_color = colors.darker_background, fg_color = colors.color8 }, inactive_tab_hover = { bg_color = colors.color0, fg_color = colors.background }, }, }, -- 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_frame = { active_titlebar_bg = colors.darker_background }, exit_behavior = "CloseOnCleanExit", window_decorations = "RESIZE", selection_word_boundary = " \t\n{}[]()\"'`,;:", }