diff --git a/home_external/.config/wezterm/.wezterm.lua b/home_external/.config/wezterm/.wezterm.lua new file mode 100644 index 0000000..7c754d0 --- /dev/null +++ b/home_external/.config/wezterm/.wezterm.lua @@ -0,0 +1,116 @@ +-- Pull in the wezterm API +local wezterm = require 'wezterm' +local act = wezterm.action +local mux = wezterm.mux + +-- This will hold the configuration. +local config = wezterm.config_builder() + +-- This is where you actually apply your config choices + +-- For example, changing the color scheme: +config.color_scheme = 'AdventureTime' +-- config.font = wezterm.font 'JetBrains Mono' -- also the default +config.font = wezterm.font 'Fira Code' +config.font_size = 12.0 -- also the default + +-- Spawn a git bash shell +config.default_prog = { 'C:/Program Files/Git/bin/bash.exe' , '--cd-to-home' } + +-- cursor shape and behaviour +config.default_cursor_style = 'BlinkingBar' +config.animation_fps = 1 +config.cursor_blink_ease_in = 'Constant' +config.cursor_blink_ease_out = 'Constant' + +config.enable_kitty_keyboard = true + +-- window appearance +config.enable_scroll_bar = true +config.window_padding = { + left = 0, + right = 0, + top = 0, + bottom = 0, +} +config.initial_rows = 50; + +wezterm.on('gui-startup', function(cmd) + local tab, pane, window = mux.spawn_window(cmd or {}) + -- Create a split occupying the right 1/3 of the screen + local loading_bar_pane = pane:split { + direction = 'Bottom', + size = 0.06, + } + -- go to JavaUtils-Directory and prepare command + loading_bar_pane:send_text 'cd JavaUtils/zeitlaeufer/target\njava de.szimnau.WorkLoadingBar' + -- optionally: clear before preparing command + -- loading_bar_pane:send_text 'cd JavaUtils\nc\njava LoadingBar' +end) + +config.keys = { + -- This will create a new horizontal split and run your default program inside it + { + key = 'E', + mods = 'CTRL|SHIFT', + action = act.SplitHorizontal { domain = 'CurrentPaneDomain' }, + }, + -- This will create a new vertical split and run your default program inside it + { + key = 'O', + mods = 'CTRL|SHIFT', + action = act.SplitVertical { domain = 'CurrentPaneDomain' }, + }, + -- resize the current split + { + key = 'UpArrow', + mods = 'CTRL|SHIFT', + action = act.AdjustPaneSize { 'Up', 1 }, + }, + { + key = 'DownArrow', + mods = 'CTRL|SHIFT', + action = act.AdjustPaneSize { 'Down', 1 }, + }, + { + key = 'LeftArrow', + mods = 'CTRL|SHIFT', + action = act.AdjustPaneSize { 'Left', 1 } + }, + { + key = 'RightArrow', + mods = 'CTRL|SHIFT', + action = act.AdjustPaneSize { 'Right', 1 }, + }, + -- move around the splits + { + key = 'UpArrow', + mods = 'ALT', + action = act.ActivatePaneDirection 'Up', + }, + { + key = 'DownArrow', + mods = 'ALT', + action = act.ActivatePaneDirection 'Down', + }, + { + key = 'LeftArrow', + mods = 'ALT', + action = act.ActivatePaneDirection 'Left', + }, + { + key = 'RightArrow', + mods = 'ALT', + action = act.ActivatePaneDirection 'Right', + }, + -- makes pane take up all available space in the tab, hiding all other panes + { + key = 'X', + mods = 'CTRL|SHIFT', + action = wezterm.action.TogglePaneZoomState, + }, +} + + +-- and finally, return the configuration to wezterm +return config