From 340f7cd26170cfb5a88d459ea7d57658b7ab986e Mon Sep 17 00:00:00 2001 From: rootiest Date: Wed, 11 Dec 2024 15:05:10 -0500 Subject: [PATCH] feat: add key bindings for resource monitoring and pane management --- config/keys.lua | 105 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/config/keys.lua b/config/keys.lua index 54ba15d..9ce7181 100644 --- a/config/keys.lua +++ b/config/keys.lua @@ -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"), + }, }, }