I finally messed around with modal mappings
Here’s the official documentation on configuring kitty
’s modal mappings.
I made this to explore its uses but also because sometimes my fingers trigger the wrong reflex macro and I accidentally change my layout or alter the window size. This guards against that by literally guarding that behavior behind a key combo that puts me into the express context for altering my window/tab layout and arrangement.
To not clutter up your main config, I recommend saving this to its own file and using the include
directive to bring it in.
EDIT: learned that you can map the combo that enters the mode to get out of the mode
kitty-mode-window-tab-arrangement (WTA):
<span style="color:#323232;">map --new-mode WTA kitty_mod+space>kitty_mod+space
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA kitty_mod+space>kitty_mod+space pop_keyboard_mode
</span><span style="color:#323232;">map --mode WTA esc pop_keyboard_mode
</span><span style="color:#323232;">map --mode WTA ctrl+c pop_keyboard_mode
</span><span style="color:#323232;">
</span><span style="color:#323232;">
</span><span style="color:#323232;"># Windows
</span><span style="color:#323232;">
</span><span style="color:#323232;">#navigation
</span><span style="color:#323232;">map --mode WTA h neighboring_window left
</span><span style="color:#323232;">map --mode WTA a neighboring_window left
</span><span style="color:#323232;">map --mode WTA left neighboring_window left
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA j neighboring_window down
</span><span style="color:#323232;">map --mode WTA s neighboring_window down
</span><span style="color:#323232;">map --mode WTA down neighboring_window down
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA k neighboring_window up
</span><span style="color:#323232;">map --mode WTA w neighboring_window up
</span><span style="color:#323232;">map --mode WTA up neighboring_window up
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA l neighboring_window right
</span><span style="color:#323232;">map --mode WTA d neighboring_window right
</span><span style="color:#323232;">map --mode WTA right neighboring_window right
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA f focus_visible_window
</span><span style="color:#323232;">
</span><span style="color:#323232;">#resize
</span><span style="color:#323232;">map --mode WTA alt+h resize_window narrower
</span><span style="color:#323232;">map --mode WTA alt+a resize_window narrower
</span><span style="color:#323232;">map --mode WTA alt+left resize_window narrower
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA alt+l resize_window wider
</span><span style="color:#323232;">map --mode WTA alt+d resize_window wider
</span><span style="color:#323232;">map --mode WTA alt+right resize_window wider
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA alt+k resize_window taller
</span><span style="color:#323232;">map --mode WTA alt+w resize_window taller
</span><span style="color:#323232;">map --mode WTA alt+up resize_window taller
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA alt+j resize_window shorter
</span><span style="color:#323232;">map --mode WTA alt+s resize_window shorter
</span><span style="color:#323232;">map --mode WTA alt+down resize_window shorter
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA ctrl+home resize_window reset
</span><span style="color:#323232;">map --mode WTA ctrl+r resize_window reset
</span><span style="color:#323232;">
</span><span style="color:#323232;">#arrange
</span><span style="color:#323232;">map --mode WTA shift+h move_window left
</span><span style="color:#323232;">map --mode WTA shift+a move_window left
</span><span style="color:#323232;">map --mode WTA shift+left move_window left
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA shift+l move_window right
</span><span style="color:#323232;">map --mode WTA shift+d move_window right
</span><span style="color:#323232;">map --mode WTA shift+right move_window right
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA shift+j move_window down
</span><span style="color:#323232;">map --mode WTA shift+s move_window down
</span><span style="color:#323232;">map --mode WTA shift+down move_window down
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA shift+k move_window up
</span><span style="color:#323232;">map --mode WTA shift+w move_window up
</span><span style="color:#323232;">map --mode WTA shift+up move_window up
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA shift+m swap_with_window
</span><span style="color:#323232;"># have to pop_keyboard_mode here to enable answering question
</span><span style="color:#323232;">map --mode WTA shift+t combine : detach_window ask : pop_keyboard_mode
</span><span style="color:#323232;">map --mode WTA shift+n combine : detach_tab ask : pop_keyboard_mode
</span><span style="color:#323232;">
</span><span style="color:#323232;">
</span><span style="color:#323232;"># Tabs
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA shift+alt+] move_tab_forward
</span><span style="color:#323232;">map --mode WTA shift+alt+right move_tab_forward
</span><span style="color:#323232;">map --mode WTA shift+alt+l move_tab_forward
</span><span style="color:#323232;">map --mode WTA shift+alt+d move_tab_forward
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA shift+alt+[ move_tab_backward
</span><span style="color:#323232;">map --mode WTA shift+alt+left move_tab_backward
</span><span style="color:#323232;">map --mode WTA shift+alt+h move_tab_backward
</span><span style="color:#323232;">map --mode WTA shift+alt+a move_tab_backward
</span><span style="color:#323232;">
</span><span style="color:#323232;">
</span><span style="color:#323232;"># Close others
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA ctrl+x>w close_other_windows_in_tab
</span><span style="color:#323232;">map --mode WTA ctrl+x>t close_other_tabs_in_os_window
</span><span style="color:#323232;">map --mode WTA ctrl+x>o close_other_os_windows
</span><span style="color:#323232;">
</span><span style="color:#323232;">
</span><span style="color:#323232;">
</span><span style="color:#323232;"># Layout actions
</span><span style="color:#323232;">
</span><span style="color:#323232;">enabled_layouts tall:mirrored=true,fat,splits:split_axis=horizontal,splits:split_axis=vertical,grid,horizontal,vertical,stack,tall,fat:mirrored=true
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA ctrl+alt+7 goto_layout tall
</span><span style="color:#323232;">map --mode WTA kitty_mod+alt+7 toggle_layout tall:mirrored=true
</span><span style="color:#323232;">map --mode WTA ctrl+alt+g goto_layout grid
</span><span style="color:#323232;">map --mode WTA ctrl+alt+w goto_layout fat
</span><span style="color:#323232;">map --mode WTA kitty_mod+alt+w toggle_layout fat:mirrored=true
</span><span style="color:#323232;">map --mode WTA ctrl+alt+v goto_layout vertical
</span><span style="color:#323232;">map --mode WTA ctrl+alt+h goto_layout horizontal
</span><span style="color:#323232;">map --mode WTA ctrl+alt+z toggle_layout stack
</span><span style="color:#323232;">map --mode WTA ctrl+alt+y toggle_layout splits:split_axis=horizontal
</span><span style="color:#323232;">map --mode WTA kitty_mod+alt+y toggle_layout splits:split_axis=vertical
</span><span style="color:#323232;">
</span><span style="color:#323232;">map --mode WTA ctrl+alt+, last_used_layout
</span><span style="color:#323232;">
</span><span style="color:#323232;"># control number of main windows
</span><span style="color:#323232;">action_alias increase_main layout_action increase_num_full_size_windows
</span><span style="color:#323232;">map --mode WTA ctrl+] increase_main
</span><span style="color:#323232;">map --mode WTA ctrl+up increase_main
</span><span style="color:#323232;">map --mode WTA ctrl+right increase_main
</span><span style="color:#323232;">map --mode WTA ctrl+l increase_main
</span><span style="color:#323232;">map --mode WTA ctrl+w increase_main
</span><span style="color:#323232;">map --mode WTA ctrl+d increase_main
</span><span style="color:#323232;">
</span><span style="color:#323232;">action_alias decrease_main layout_action decrease_num_full_size_windows
</span><span style="color:#323232;">map --mode WTA ctrl+[ decrease_main
</span><span style="color:#323232;">map --mode WTA ctrl+down decrease_main
</span><span style="color:#323232;">map --mode WTA ctrl+left decrease_main
</span><span style="color:#323232;">map --mode WTA ctrl+h decrease_main
</span><span style="color:#323232;">map --mode WTA ctrl+s decrease_main
</span><span style="color:#323232;">map --mode WTA ctrl+a decrease_main
</span><span style="color:#323232;">
</span><span style="color:#323232;"># increase main bias
</span><span style="color:#323232;">action_alias increase_bias layout_action bias 50 66 75 90
</span><span style="color:#323232;">map --mode WTA kitty_mod+] increase_bias
</span><span style="color:#323232;">map --mode WTA kitty_mod+up increase_bias
</span><span style="color:#323232;">map --mode WTA kitty_mod+right increase_bias
</span><span style="color:#323232;">map --mode WTA kitty_mod+l increase_bias
</span><span style="color:#323232;">map --mode WTA kitty_mod+w increase_bias
</span><span style="color:#323232;">map --mode WTA kitty_mod+d increase_bias
</span><span style="color:#323232;">
</span><span style="color:#323232;"># decrease main bias
</span><span style="color:#323232;">action_alias decrease_bias layout_action bias 50 33 25 10
</span><span style="color:#323232;">map --mode WTA kitty_mod+[ decrease_bias
</span><span style="color:#323232;">map --mode WTA kitty_mod+down decrease_bias
</span><span style="color:#323232;">map --mode WTA kitty_mod+left decrease_bias
</span><span style="color:#323232;">map --mode WTA kitty_mod+h decrease_bias
</span><span style="color:#323232;">map --mode WTA kitty_mod+s decrease_bias
</span><span style="color:#323232;">map --mode WTA kitty_mod+a decrease_bias
</span>
Add comment