Skip to content

neighboring_window up/down actions inverted after upgrade to v0.45 #9355

Description

@eliliam

Describe the bug
After upgrading from v0.44 to v0.45, the neighboring_window up and neighboring_window down actions appear to be inverted compared to previous behavior. Keyboard shortcuts that worked correctly in v0.44 now move focus in the opposite direction.

To Reproduce
Steps to reproduce the behavior:

  1. Upgrade kitty from v0.44 to v0.45.

  2. Configure the following key mappings in kitty.conf:

    map kitty_mod+UP   neighboring_window up
    map kitty_mod+DOWN neighboring_window down
    
  3. Open a layout with multiple panes stacked vertically.

  4. Press kitty_mod+DOWN.

  5. Observe that focus moves to the pane above instead of the pane below.

Screenshots
Not applicable.

Environment details

kitty 0.45.0 created by Kovid Goyal
Linux eli-arco 6.12.63-1-lts #1 SMP PREEMPT_DYNAMIC Thu, 18 Dec 2025 14:48:15 +0000 x86_64
Arch Linux 6.12.63-1-lts (/dev/tty)
DISTRIB_ID="Arch"
DISTRIB_RELEASE="rolling"
DISTRIB_DESCRIPTION="Arch Linux"
Running under: X11
OpenGL: '3.1.0 NVIDIA 590.48.01' Detected version: 3.1
Frozen: False
Fonts:
  medium: SauceCodeProNFM: /usr/share/fonts/TTF/SauceCodeProNerdFontMono-Regular.ttf:0
          Features: ()
    bold: SauceCodeProNFM-SemiBold: /usr/share/fonts/TTF/SauceCodeProNerdFontMono-SemiBold.ttf:0
          Features: ()
  italic: SauceCodeProNFM-Italic: /usr/share/fonts/TTF/SauceCodeProNerdFontMono-Italic.ttf:0
          Features: ()
      bi: SauceCodeProNFM-SemiBoldItalic: /usr/share/fonts/TTF/SauceCodeProNerdFontMono-SemiBoldItalic.ttf:0
          Features: ()
Paths:
  kitty: /usr/bin/kitty
  base dir: /usr/lib/kitty
  extensions dir: /usr/lib/kitty/kitty
  system shell: /usr/bin/zsh
System color scheme: no_preference. Applied color theme type: none
Loaded config files:
  /home/eli/.config/kitty/kitty.conf

Config options different from defaults:
active_tab_title_template     {title}
allow_remote_control          yes
clipboard_control             ('write-clipboard', 'write-primary', 'read-clipboard', 'read-primary')
close_on_child_death          True
confirm_os_window_close       (0, False)
dim_opacity                   0.75
draw_minimal_borders          False
enable_audio_bell             False
enabled_layouts               ['vertical', 'tall']
font_family                   family="SauceCodePro Nerd Font Mono"
font_size                     7.0
inactive_text_alpha           0.5
modify_font:
    cell_height 0
    cell_width 0
mouse_hide_wait               MouseHideWait(hide_wait=0.0, show_wait=0.0, show_threshold=40, scroll_show=True)
pointer_shape_when_dragging   ('beam', 'beam')
scrollback_lines              250000
scrollback_pager              ['most', '-w', '+INPUT_LINE_NUMBER']
scrollback_pager_history_size 2147483648
shell_integration             frozenset({'no-sudo'})
strip_trailing_spaces         smart
symbol_map:
	U+2800 - U+28ff → Symbola
sync_to_monitor               False
tab_activity_symbol           
tab_bar_edge                  2
tab_bar_style                 powerline
tab_title_template            {index}: {title}
update_check_interval         24.0
url_prefixes                  ('http', 'https')
window_margin_width           FloatEdges(left=2.0, top=2.0, right=2.0, bottom=2.0)
Added shortcuts:
	ctrl+1 →  goto_tab 1
	ctrl+2 →  goto_tab 2
	ctrl+3 →  goto_tab 3
	ctrl+4 →  goto_tab 4
	ctrl+5 →  goto_tab 5
	ctrl+6 →  goto_tab 6
	ctrl+7 →  goto_tab 7
	ctrl+8 →  goto_tab 8
	ctrl+9 →  goto_tab 9
	ctrl+alt+left →  move_tab_backward
	ctrl+alt+right →  move_tab_forward
	ctrl+t →  new_tab
	kitty_mod+alt+enter →  new_window
	kitty_mod+alt+x →  load_config_file
	kitty_mod+m →  push_keyboard_mode mw
	kitty_mod+p > c →  kitten hints --type hyperlink, kitten hints --type linenum, kitten hints --type hash --program -, kitten hints --type word --program -, kitten hints --type line --program -, kitten hints --type path, kitten hints --type path --program -, kitten choose-files --mode=dir, kitten choose-files
Removed shortcuts:
	kitty_mod+p > f →  kitten hints --type hyperlink, kitten hints --type linenum, kitten hints --type hash --program -, kitten hints --type word --program -, kitten hints --type line --program -, kitten choose-files --mode=dir, kitten choose-files, kitten hints --type path, kitten hints --type path --program -
Changed shortcuts:
	kitty_mod+. →  move_window_to_top
	kitty_mod+/ →  kitten keymap.py
	kitty_mod+down →  neighboring_window down
	kitty_mod+e →  kitten hints
	kitty_mod+enter →  new_window_with_cwd
	kitty_mod+home →  resize_window reset
	kitty_mod+left →  neighboring_window left
	kitty_mod+right →  neighboring_window right
	kitty_mod+t →  new_tab_with_cwd
	kitty_mod+up →  neighboring_window up
Changes in keyboard mode: mw
Added shortcuts:
	alt+down →  resize_window shorter
	alt+left →  resize_window narrower
	alt+right →  resize_window wider
	alt+up →  resize_window taller
	down →  neighboring_window down
	escape →  pop_keyboard_mode
	left →  neighboring_window left
	n →  resize_window narrower
	q →  pop_keyboard_mode
	right →  neighboring_window right
	s →  resize_window shorter
	shift+down →  move_window down
	shift+left →  move_window left
	shift+right →  move_window right
	shift+up →  move_window up
	t →  resize_window taller
	up →  neighboring_window up
	w →  resize_window wider
Colors:
	background                    #282828   
	color0                        #3c3836   
	color1                        #cc241d   
	color10                       #b8bb26   
	color11                       #fabd2f   
	color12                       #83a598   
	color13                       #d3869b   
	color14                       #8ec07c   
	color15                       #fbf1c7   
	color2                        #98971a   
	color3                        #d79921   
	color4                        #458588   
	color5                        #b16286   
	color6                        #689d6a   
	color7                        #a89984   
	color8                        #928374   
	color9                        #fb4934   
	cursor                        #bdae93   
	cursor_text_color             #665c54   
	foreground                    #ebdbb2   
	selection_background          #d65d0e   
	selection_foreground          #ebdbb2   
	url_color                     #458588   

Important environment variables seen by the kitty process:
	PATH                                /home/eli/bin:/home/eli/.local/bin:/home/eli/go/bin:/home/eli/bin:/home/eli/.local/bin:/home/eli/go/bin:/home/eli/bin:/home/eli/.local/bin:/home/eli/go/bin:/home/eli/bin:/home/eli/.local/bin:/home/eli/go/bin:/home/eli/bin:/home/eli/.local/bin:/home/eli/go/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/postgresql17/bin:/home/eli/Programs/google-cloud-sdk/bin:/opt/cuda/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin:/opt/postgresql17/bin:/home/eli/Programs/google-cloud-sdk/bin:/opt/postgresql17/bin:/home/eli/Programs/google-cloud-sdk/bin:/opt/postgresql17/bin:/home/eli/Programs/google-cloud-sdk/bin:/opt/postgresql17/bin:/home/eli/Programs/google-cloud-sdk/bin
	LANG                                en_US.UTF-8
	VISUAL                              hx
	EDITOR                              hx
	SHELL                               /usr/bin/zsh
	DISPLAY                             :0
	USER                                eli
	XDG_SESSION_PATH                    /org/freedesktop/DisplayManager/Session0
	XDG_SEAT                            seat0
	XDG_SESSION_DESKTOP                 
	XDG_SESSION_TYPE                    x11
	XDG_SEAT_PATH                       /org/freedesktop/DisplayManager/Seat0
	XDG_SESSION_CLASS                   user
	XDG_VTNR                            2
	XDG_SESSION_ID                      1
	XDG_RUNTIME_DIR                     /run/user/1000
	XDG_DATA_DIRS                       /home/eli/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share

Additional context
To restore the previous behavior, the key mappings must be inverted as follows:

map kitty_mod+DOWN neighboring_window up
map kitty_mod+UP   neighboring_window down

There is no reference to this behavioral change in the v0.45 changelog, and it appears to be unintended.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions