feat: WezTerm init

This commit is contained in:
2025-04-05 18:12:41 +02:00
parent 78983ab85c
commit 1413d4e69f
5 changed files with 157 additions and 0 deletions

View File

@ -0,0 +1,76 @@
local wezterm = require("wezterm")
local act = wezterm.action
return {
leader = { key = "a", mods = "CTRL", timeout_milliseconds = 1002 },
keys = {
{
key = "w",
mods = "CMD",
action = act.CloseCurrentPane({ confirm = true }),
},
-- activate resize mode
{
key = "r",
mods = "LEADER",
action = act.ActivateKeyTable({
name = "resize_pane",
one_shot = false,
}),
},
-- focus panes
{
key = "k",
mods = "LEADER",
action = act.ActivatePaneDirection("Left"),
},
{
key = "i",
mods = "LEADER",
action = act.ActivatePaneDirection("Right"),
},
{
key = "e",
mods = "LEADER",
action = act.ActivatePaneDirection("Up"),
},
{
key = "n",
mods = "LEADER",
action = act.ActivatePaneDirection("Down"),
},
-- add new panes
{
key = "v",
mods = "LEADER",
action = act.SplitVertical({ domain = "CurrentPaneDomain" }),
},
{
key = "h",
mods = "LEADER",
action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }),
},
},
key_tables = {
resize_pane = {
{ key = "LeftArrow", action = act.AdjustPaneSize({ "Left", 5 }) },
{ key = "k", action = act.AdjustPaneSize({ "Left", 5 }) },
{ key = "RightArrow", action = act.AdjustPaneSize({ "Right", 5 }) },
{ key = "i", action = act.AdjustPaneSize({ "Right", 5 }) },
{ key = "UpArrow", action = act.AdjustPaneSize({ "Up", 2 }) },
{ key = "e", action = act.AdjustPaneSize({ "Up", 3 }) },
{ key = "DownArrow", action = act.AdjustPaneSize({ "Down", 2 }) },
{ key = "n", action = act.AdjustPaneSize({ "Down", 2 }) },
{ key = "Escape", action = "PopKeyTable" },
},
},
}

View File

@ -0,0 +1,47 @@
local wezterm = require("wezterm")
local mappings = require("modules.mappings")
-- Show which key table is active in the status area
wezterm.on("update-right-status", function(window, pane)
local name = window:active_key_table()
if name then
name = "TABLE: " .. name
end
window:set_right_status(name or "")
end)
return {
default_cursor_style = "BlinkingBlock",
color_scheme = "Poimandres",
colors = {
cursor_bg = "#A6ACCD",
cursor_border = "#A6ACCD",
cursor_fg = "#1B1E28",
},
-- font
font = wezterm.font("JetBrains Mono", { weight = "Medium" }),
font_size = 10,
line_height = 1.0,
window_background_opacity = 0.8,
-- tab bar
use_fancy_tab_bar = true,
tab_bar_at_bottom = false,
hide_tab_bar_if_only_one_tab = true,
tab_max_width = 999999,
window_padding = {
left = 7,
right = 7,
top = 7,
bottom = 7,
},
window_decorations = "RESIZE",
inactive_pane_hsb = {
brightness = 0.7,
},
send_composed_key_when_left_alt_is_pressed = false,
send_composed_key_when_right_alt_is_pressed = true,
-- key bindings
leader = mappings.leader,
keys = mappings.keys,
key_tables = mappings.key_tables,
}