feat: add key bindings for resource monitoring and pane management

This commit is contained in:
2024-12-11 15:05:10 -05:00
parent d599683a8d
commit 340f7cd261
+105
View File
@@ -13,6 +13,7 @@ local LeaderCtrl = "LEADER|CTRL"
local FuzzyLaunch = "FUZZY|TABS|DOMAINS|WORKSPACES|COMMANDS|LAUNCH_MENU_ITEMS|KEY_ASSIGNMENTS"
---@diagnostic disable-next-line: undefined-field
local resurrect = wezterm.plugin.require("https://github.com/MLFlexer/resurrect.wezterm")
local tunicodes = require("plugins/tunicodes")
@@ -189,6 +190,34 @@ local opts = {
action = tunicodes.DefaultAction,
},
{ key = "u", mods = LeaderCtrl, action = act.EmitEvent("toggle-tabbar") },
{
key = "b",
mods = "LEADER|CTRL",
action = wezterm.action_callback(function(window, pane)
window:perform_action(
wezterm.action.SpawnCommandInNewTab({
args = { "btop" },
}),
pane
)
window:active_tab():set_title("Resource Monitor")
end),
},
{
key = "z",
mods = "LEADER|CTRL",
action = wezterm.action_callback(function(window, pane)
window:perform_action(
wezterm.action.SplitPane({
command = { args = { os.getenv("SHELL"), "-c", "lazygit" } },
direction = "Right",
}),
pane
)
---@diagnostic disable-next-line: param-type-mismatch
window:perform_action(wezterm.action.TogglePaneZoomState, pane)
end),
},
},
-- ━━━━━━━━━━━━━━━━━━━━━━ Conditional Key Mappings ━━━━━━━━━━━━━━━━━━━
@@ -222,6 +251,77 @@ local opts = {
{ key = "DownArrow", action = act.ActivatePaneDirection("Down") },
{ key = "j", action = act.ActivatePaneDirection("Down") },
},
copy_mode = {
{ key = "Tab", mods = "NONE", action = act.CopyMode("MoveForwardWord") },
{ key = "Tab", mods = "SHIFT", action = act.CopyMode("MoveBackwardWord") },
{ key = "Enter", mods = "NONE", action = act.CopyMode("MoveToStartOfNextLine") },
{ key = "Escape", mods = "NONE", action = act.Multiple({ "ScrollToBottom", { CopyMode = "Close" } }) },
{ key = "Space", mods = "NONE", action = act.CopyMode({ SetSelectionMode = "Cell" }) },
{ key = "$", mods = "NONE", action = act.CopyMode("MoveToEndOfLineContent") },
{ key = "$", mods = "SHIFT", action = act.CopyMode("MoveToEndOfLineContent") },
{ key = ",", mods = "NONE", action = act.CopyMode("JumpReverse") },
{ key = "0", mods = "NONE", action = act.CopyMode("MoveToStartOfLine") },
{ key = ";", mods = "NONE", action = act.CopyMode("JumpAgain") },
{ key = "F", mods = "NONE", action = act.CopyMode({ JumpBackward = { prev_char = false } }) },
{ key = "F", mods = "SHIFT", action = act.CopyMode({ JumpBackward = { prev_char = false } }) },
{ key = "G", mods = "NONE", action = act.CopyMode("MoveToScrollbackBottom") },
{ key = "G", mods = "SHIFT", action = act.CopyMode("MoveToScrollbackBottom") },
{ key = "H", mods = "NONE", action = act.CopyMode("MoveToViewportTop") },
{ key = "H", mods = "SHIFT", action = act.CopyMode("MoveToViewportTop") },
{ key = "L", mods = "NONE", action = act.CopyMode("MoveToViewportBottom") },
{ key = "L", mods = "SHIFT", action = act.CopyMode("MoveToViewportBottom") },
{ key = "M", mods = "NONE", action = act.CopyMode("MoveToViewportMiddle") },
{ key = "M", mods = "SHIFT", action = act.CopyMode("MoveToViewportMiddle") },
{ key = "O", mods = "NONE", action = act.CopyMode("MoveToSelectionOtherEndHoriz") },
{ key = "O", mods = "SHIFT", action = act.CopyMode("MoveToSelectionOtherEndHoriz") },
{ key = "T", mods = "NONE", action = act.CopyMode({ JumpBackward = { prev_char = true } }) },
{ key = "T", mods = "SHIFT", action = act.CopyMode({ JumpBackward = { prev_char = true } }) },
{ key = "V", mods = "NONE", action = act.CopyMode({ SetSelectionMode = "Line" }) },
{ key = "V", mods = "SHIFT", action = act.CopyMode({ SetSelectionMode = "Line" }) },
{ key = "^", mods = "NONE", action = act.CopyMode("MoveToStartOfLineContent") },
{ key = "^", mods = "SHIFT", action = act.CopyMode("MoveToStartOfLineContent") },
{ key = "b", mods = "NONE", action = act.CopyMode("MoveBackwardWord") },
{ key = "b", mods = "ALT", action = act.CopyMode("MoveBackwardWord") },
{ key = "b", mods = "CTRL", action = act.CopyMode("PageUp") },
{ key = "c", mods = "CTRL", action = act.Multiple({ "ScrollToBottom", { CopyMode = "Close" } }) },
{ key = "d", mods = "CTRL", action = act.CopyMode({ MoveByPage = 0.5 }) },
{ key = "e", mods = "NONE", action = act.CopyMode("MoveForwardWordEnd") },
{ key = "f", mods = "NONE", action = act.CopyMode({ JumpForward = { prev_char = false } }) },
{ key = "f", mods = "ALT", action = act.CopyMode("MoveForwardWord") },
{ key = "f", mods = "CTRL", action = act.CopyMode("PageDown") },
{ key = "g", mods = "NONE", action = act.CopyMode("MoveToScrollbackTop") },
{ key = "g", mods = "CTRL", action = act.Multiple({ "ScrollToBottom", { CopyMode = "Close" } }) },
{ key = "h", mods = "NONE", action = act.CopyMode("MoveLeft") },
{ key = "j", mods = "NONE", action = act.CopyMode("MoveDown") },
{ key = "k", mods = "NONE", action = act.CopyMode("MoveUp") },
{ key = "l", mods = "NONE", action = act.CopyMode("MoveRight") },
{ key = "m", mods = "ALT", action = act.CopyMode("MoveToStartOfLineContent") },
{ key = "o", mods = "NONE", action = act.CopyMode("MoveToSelectionOtherEnd") },
{ key = "q", mods = "NONE", action = act.Multiple({ "ScrollToBottom", { CopyMode = "Close" } }) },
{ key = "t", mods = "NONE", action = act.CopyMode({ JumpForward = { prev_char = true } }) },
{ key = "u", mods = "CTRL", action = act.CopyMode({ MoveByPage = -0.5 }) },
{ key = "v", mods = "NONE", action = act.CopyMode({ SetSelectionMode = "Cell" }) },
{ key = "v", mods = "CTRL", action = act.CopyMode({ SetSelectionMode = "Block" }) },
{ key = "w", mods = "NONE", action = act.CopyMode("MoveForwardWord") },
{
key = "y",
mods = "NONE",
action = act.Multiple({
{ CopyTo = "ClipboardAndPrimarySelection" },
{ Multiple = { "ScrollToBottom", { CopyMode = "Close" } } },
}),
},
{ key = "PageUp", mods = "NONE", action = act.CopyMode("PageUp") },
{ key = "PageDown", mods = "NONE", action = act.CopyMode("PageDown") },
{ key = "End", mods = "NONE", action = act.CopyMode("MoveToEndOfLineContent") },
{ key = "Home", mods = "NONE", action = act.CopyMode("MoveToStartOfLine") },
{ key = "LeftArrow", mods = "NONE", action = act.CopyMode("MoveLeft") },
{ key = "LeftArrow", mods = "ALT", action = act.CopyMode("MoveBackwardWord") },
{ key = "RightArrow", mods = "NONE", action = act.CopyMode("MoveRight") },
{ key = "RightArrow", mods = "ALT", action = act.CopyMode("MoveForwardWord") },
{ key = "UpArrow", mods = "NONE", action = act.CopyMode("MoveUp") },
{ key = "DownArrow", mods = "NONE", action = act.CopyMode("MoveDown") },
},
},
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━ Mouse Bindings ━━━━━━━━━━━━━━━━━━━━━━━━
@@ -246,6 +346,11 @@ local opts = {
mods = "CTRL",
action = act.ActivateTabRelative(1),
},
{
event = { Down = { streak = 1, button = "Right" } },
mods = "NONE",
action = act.PasteFrom("Clipboard"),
},
},
}