This commit is contained in:
♥ Minnie ♥ 2024-12-22 09:57:17 +08:00
parent 93f49e3227
commit 7edae4612e
Signed by: jasmine
GPG key ID: 8563E358D4E8040E

View file

@ -1,5 +1,5 @@
-- Pull in the wezterm API -- Pull in the wezterm API
local wezterm = require 'wezterm' local wezterm = require("wezterm")
local act = wezterm.action local act = wezterm.action
-- This table will hold the configuration. -- This table will hold the configuration.
@ -8,7 +8,7 @@ local config = {}
-- In newer versions of wezterm, use the config_builder which will -- In newer versions of wezterm, use the config_builder which will
-- help provide clearer error messages -- help provide clearer error messages
if wezterm.config_builder then if wezterm.config_builder then
config = wezterm.config_builder() config = wezterm.config_builder()
end end
-- This function returns the suggested title for a tab. -- This function returns the suggested title for a tab.
@ -16,103 +16,98 @@ end
-- or `wezterm cli set-tab-title`, but falls back to the -- or `wezterm cli set-tab-title`, but falls back to the
-- title of the active pane in that tab. -- title of the active pane in that tab.
function tab_title(tab_info) function tab_title(tab_info)
local title = tab_info.tab_title local title = tab_info.tab_title
-- if the tab title is explicitly set, take that -- if the tab title is explicitly set, take that
if title and #title > 0 then if title and #title > 0 then
return title return title
end end
-- Otherwise, use the title from the active pane -- Otherwise, use the title from the active pane
-- in that tab -- in that tab
return tab_info.active_pane.title return tab_info.active_pane.title
end end
wezterm.on( wezterm.on("format-tab-title", function(tab, tabs, panes, config, hover, max_width)
'format-tab-title', local title = tab_title(tab)
function(tab, tabs, panes, config, hover, max_width) return { { Text = " " .. title .. "" } }
local title = tab_title(tab) end)
return { { Text = ' ' .. title .. '' }, }
end
)
-- Do not check for or show window with update information -- Do not check for or show window with update information
config.check_for_updates = false config.check_for_updates = false
config.show_update_window = false
--| Font Configuration --| Font Configuration
config.font = wezterm.font 'Fisa Code' config.font = wezterm.font("Fisa Code")
config.font_size = 10.0 config.font_size = 10.0
--| Color scheme --| Color scheme
config.color_scheme = 'gruvbox_material_dark_hard' config.color_scheme = "gruvbox_material_dark_hard"
--| Cursor style --| Cursor style
config.default_cursor_style = 'SteadyBar' config.default_cursor_style = "SteadyBar"
--| Padding --| Padding
config.window_padding = { config.window_padding = {
left = 10, left = 10,
right = 10, right = 10,
top = 10, top = 10,
bottom = 10, bottom = 10,
} }
--| Style Inactive Panes --| Style Inactive Panes
config.inactive_pane_hsb = { config.inactive_pane_hsb = {
saturation = 1.0, saturation = 1.0,
brightness = 1.0, brightness = 1.0,
} }
--| Tab Bar Appearance --| Tab Bar Appearance
config.use_fancy_tab_bar = false config.use_fancy_tab_bar = false
config.enable_tab_bar = true config.enable_tab_bar = true
config.hide_tab_bar_if_only_one_tab = true config.hide_tab_bar_if_only_one_tab = true
config.tab_bar_at_bottom = false config.tab_bar_at_bottom = false
config.tab_max_width = 24 config.tab_max_width = 24
config.show_tab_index_in_tab_bar = false config.show_tab_index_in_tab_bar = false
--| Colors --| Colors
config.colors = { config.colors = {
tab_bar = { tab_bar = {
--| Tab Bar Colors --| Tab Bar Colors
background = '#282828', background = "#282828",
--| Tab Colors --| Tab Colors
active_tab = { bg_color = '#282828', fg_color = '#7daea3', intensity = 'Normal', italic = false, }, active_tab = { bg_color = "#282828", fg_color = "#7daea3", intensity = "Normal", italic = false },
inactive_tab = { bg_color = '#282828', fg_color = '#a89984', intensity = 'Normal', italic = false, }, inactive_tab = { bg_color = "#282828", fg_color = "#a89984", intensity = "Normal", italic = false },
inactive_tab_hover = { bg_color = '#282828', fg_color = '#a89984', intensity = 'Normal', italic = false, }, inactive_tab_hover = { bg_color = "#282828", fg_color = "#a89984", intensity = "Normal", italic = false },
new_tab = { bg_color = '#282828', fg_color = '#a89984', intensity = 'Normal', italic = false, }, new_tab = { bg_color = "#282828", fg_color = "#a89984", intensity = "Normal", italic = false },
new_tab_hover = { bg_color = '#282828', fg_color = '#a89984', intensity = 'Normal', italic = false, }, new_tab_hover = { bg_color = "#282828", fg_color = "#a89984", intensity = "Normal", italic = false },
} },
} }
--| Key Assignments --| Key Assignments
config.disable_default_key_bindings = true config.disable_default_key_bindings = true
config.keys = { config.keys = {
--| Spawn Tab --| Spawn Tab
{ key = 'n', mods = 'ALT', action = act.SpawnTab 'CurrentPaneDomain', }, { key = "n", mods = "ALT", action = act.SpawnTab("CurrentPaneDomain") },
--| Tab Navigation --| Tab Navigation
{ key = 'LeftArrow', mods = 'ALT', action = act.ActivateTabRelative(-1) }, { key = "LeftArrow", mods = "ALT", action = act.ActivateTabRelative(-1) },
{ key = 'RightArrow', mods = 'ALT', action = act.ActivateTabRelative(1) }, { key = "RightArrow", mods = "ALT", action = act.ActivateTabRelative(1) },
--| Split Panes --| Split Panes
{ key = 'v', mods = 'ALT', action = act.SplitVertical { domain = 'CurrentPaneDomain' }, }, { key = "v", mods = "ALT", action = act.SplitVertical({ domain = "CurrentPaneDomain" }) },
{ key = 's', mods = 'ALT', action = act.SplitHorizontal { domain = 'CurrentPaneDomain' }, }, { key = "s", mods = "ALT", action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }) },
--| Adjust Pane Size --| Adjust Pane Size
{ key = 'PageDown', mods = 'ALT', action = act.AdjustPaneSize { 'Down', 5 } }, { key = "PageDown", mods = "ALT", action = act.AdjustPaneSize({ "Down", 5 }) },
{ key = 'PageUp', mods = 'ALT', action = act.AdjustPaneSize { 'Up', 5 } }, { key = "PageUp", mods = "ALT", action = act.AdjustPaneSize({ "Up", 5 }) },
--| Pane Navigation --| Pane Navigation
{ key = 'DownArrow', mods = 'ALT', action = act.ActivatePaneDirection 'Next', }, { key = "DownArrow", mods = "ALT", action = act.ActivatePaneDirection("Next") },
{ key = 'UpArrow', mods = 'ALT', action = act.ActivatePaneDirection 'Prev', }, { key = "UpArrow", mods = "ALT", action = act.ActivatePaneDirection("Prev") },
--| Close Pane --| Close Pane
{ key = 'Escape', mods = "ALT", action = act.CloseCurrentPane { confirm = false }, }, { key = "Escape", mods = "ALT", action = act.CloseCurrentPane({ confirm = false }) },
--| Copy Mode / Clipboard --| Copy Mode / Clipboard
{ key = 'X', mods = 'CTRL', action = act.ActivateCopyMode, }, { key = "X", mods = "CTRL", action = act.ActivateCopyMode },
{ key = 'V', mods = 'CTRL', action = act.PasteFrom 'Clipboard', }, { key = "V", mods = "CTRL", action = act.PasteFrom("Clipboard") },
--| This lets us unify delete word across programs --| This lets us unify delete word across programs
{ key = 'Backspace', mods = 'CTRL', action = act.SendKey {key = 'w', mods = 'CTRL'} }, { key = "Backspace", mods = "CTRL", action = act.SendKey({ key = "w", mods = "CTRL" }) },
} }
return config return config