new config for wezterm to behave similar to kitty (and termintator)

This commit is contained in:
2025-08-14 11:22:39 +02:00
parent 4e9a8f94be
commit 28fbe6a042

View File

@@ -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