diff --git a/home/apps/wezterm/binds.lua b/home/apps/wezterm/binds.lua new file mode 100644 index 0000000..8739ee6 --- /dev/null +++ b/home/apps/wezterm/binds.lua @@ -0,0 +1,64 @@ +local wezterm = require("wezterm") +local act = wezterm.action + +return { + keyboard = { + -- Fullscreen + { key = "F11", action = act.ToggleFullScreen }, + -- Zoom + { key = "z", mods = "ALT|SHIFT", action = act.TogglePaneZoomState }, + -- Copy / Paste + { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("Clipboard") }, + { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, + + -- CMD Palette + { key = "p", mods = "ALT|SHIFT", action = act.ActivateCommandPalette }, + + -- Navigating Tabs + { key = "h", mods = "ALT|SHIFT", action = act.ActivateTabRelative(-1) }, + { key = "l", mods = "ALT|SHIFT", action = act.ActivateTabRelative(1) }, + -- Close Tabs + { key = "d", mods = "ALT|SHIFT", action = act.CloseCurrentTab({ confirm = false }) }, + -- Swap Panes + { key = "i", mods = "ALT|SHIFT", action = act.PaneSelect({ alphabet = "asdfghjkl;", mode = "Activate" }) }, + { + key = "s", + mods = "ALT|SHIFT", + action = act.PaneSelect({ alphabet = "asdfghjkl;", mode = "SwapWithActive" }), + }, + -- Move Tabs Relatively + { key = "{", mods = "ALT|SHIFT", action = act.MoveTabRelative(-1) }, + { key = "}", mods = "ALT|SHIFT", action = act.MoveTabRelative(1) }, + + -- New Tab + { key = "n", mods = "ALT|SHIFT", action = act({ SpawnTab = "CurrentPaneDomain" }) }, + { key = "m", mods = "ALT|SHIFT", action = act({ SpawnTab = "DefaultDomain" }) }, + + -- Open Links Via Keyboard + { + key = "o", + mods = "ALT|SHIFT", + action = act.QuickSelectArgs({ + label = "open url", + patterns = { + "https?://\\S+", + }, + action = wezterm.action_callback(function(window, pane) + local url = window:get_selection_text_for_pane(pane) + wezterm.open_with(url) + end), + }), + }, + + -- ScrollBack To Prompt + { key = "UpArrow", mods = "CTRL|SHIFT", action = act.ScrollToPrompt(-1) }, + { key = "DownArrow", mods = "CTRL|SHIFT", action = act.ScrollToPrompt(1) }, + }, + mouse = { + { + event = { Up = { streak = 1, button = "Left" } }, + mods = "CTRL", + action = act.OpenLinkAtMouseCursor, + }, + } +} \ No newline at end of file diff --git a/home/apps/wezterm/wezterm.lua b/home/apps/wezterm/wezterm.lua index 0cacdd5..c125b00 100644 --- a/home/apps/wezterm/wezterm.lua +++ b/home/apps/wezterm/wezterm.lua @@ -1,29 +1,7 @@ local wezterm = require("wezterm") local act = wezterm.action -local wsl_domains = wezterm.default_wsl_domains() local c = wezterm.config_builder() --- WSL related -for _, dom in ipairs(wsl_domains) do - dom.default_cwd = "~" -end - -local function get_os() - local target = wezterm.target_triple - if string.find(target, "linux") then - return "linux" - elseif string.find(target, "darwin") then - return "macos" - else - return "windows" - end -end - -if get_os() == "windows" then - default_prog = { "wsl.exe", "~", "-d", "Ubuntu-20.04" } - default_domain = "WSL:Ubuntu-20.04" -end - c.set_environment_variables = { ZVM_TERM = "xterm-256color", } @@ -40,8 +18,6 @@ c.font = wezterm.font_with_fallback({ }) c.font_size = 12 -c.default_domain = default_domain -c.wsl_domains = wsl_domains c.default_prog = { "fish", "-l" } c.window_padding = { top = 1, bottom = 1, left = 1, right = 1 } @@ -60,65 +36,9 @@ c.clean_exit_codes = { 130 } c.audible_bell = "Disabled" c.disable_default_key_bindings = false -c.mouse_bindings = { - { - event = { Up = { streak = 1, button = "Left" } }, - mods = "CTRL", - action = wezterm.action.OpenLinkAtMouseCursor, - }, -} -c.keys = { - -- Fullscreen - { key = "F11", action = wezterm.action.ToggleFullScreen }, - -- Zoom - { key = "z", mods = "ALT|SHIFT", action = wezterm.action.TogglePaneZoomState }, - -- Copy / Paste - { key = "c", mods = "ALT|SHIFT", action = wezterm.action.CopyTo("Clipboard") }, - { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, - - -- CMD Palette - { key = "p", mods = "ALT|SHIFT", action = act.ActivateCommandPalette }, - - -- Navigating Tabs - { key = "h", mods = "ALT|SHIFT", action = act.ActivateTabRelative(-1) }, - { key = "l", mods = "ALT|SHIFT", action = act.ActivateTabRelative(1) }, - -- Close Tabs - { key = "d", mods = "ALT|SHIFT", action = act.CloseCurrentTab({ confirm = false }) }, - -- Swap Panes - { key = "i", mods = "ALT|SHIFT", action = act.PaneSelect({ alphabet = "asdfghjkl;", mode = "Activate" }) }, - { - key = "s", - mods = "ALT|SHIFT", - action = act.PaneSelect({ alphabet = "asdfghjkl;", mode = "SwapWithActive" }), - }, - -- Move Tabs Relatively - { key = "{", mods = "ALT|SHIFT", action = act.MoveTabRelative(-1) }, - { key = "}", mods = "ALT|SHIFT", action = act.MoveTabRelative(1) }, - - -- New Tab - { key = "n", mods = "ALT|SHIFT", action = act({ SpawnTab = "CurrentPaneDomain" }) }, - { key = "m", mods = "ALT|SHIFT", action = act({ SpawnTab = "DefaultDomain" }) }, - - -- Open Links Via Keyboard - { - key = "o", - mods = "ALT|SHIFT", - action = wezterm.action.QuickSelectArgs({ - label = "open url", - patterns = { - "https?://\\S+", - }, - action = wezterm.action_callback(function(window, pane) - local url = window:get_selection_text_for_pane(pane) - wezterm.open_with(url) - end), - }), - }, - - -- ScrollBack To Prompt - { key = "UpArrow", mods = "CTRL|SHIFT", action = act.ScrollToPrompt(-1) }, - { key = "DownArrow", mods = "CTRL|SHIFT", action = act.ScrollToPrompt(1) }, -} +local binds = require("binds") +c.keys = binds.keyboard +c.mouse_bindings = binds.mouse c.ssh_domains = { {