Skip to content

kitty send-text workflow broken by 0.32 #7074

Description

@xxyxxyxyx1

Describe the bug
I have used vim-slime with kitty successfully with kitty versions 0.26 – 0.31. However, on kitty v0.32 and v0.32.1, I have keyboard problems. (Reinstalling v0.31 fixes the problems.)

vim-slime uses a short piece of vimscript to send text from vim to another kitty window, such as an ipython interpreter.

After the first text is sent with vim-slime, most keyboard shortcuts break, along with most uses of the shift key. For example:

  • I cannot type symbols requiring shift in vim, such as _; I just get -. I can, however, type capital letters.
  • kitty keyboard shortcuts do not work, such as ctrl-tab to switch tabs
  • OS shortcuts do not work while kitty is focused, for example cmd-q does not quit kitty. I must use the mouse to quit kitty.

Functionality is restored only after restarting kitty. The vim-slime seems to work as intended, sending text over to the other kitty window as usual.

I am not sure where to start looking for this problem. I posted an issue with vim-slime and was recommended to post here. Any suggestions for tracking down the problem would be appreciated.

I have tried some small manual tests with kitty, to see if I can break it without using vim-slime, but I have not been successful. I tried for example kitty @ --to unix:/tmp/mykitty-1975 send-text --match id:2 --stdin ls, and no keyboard problems occurred.

To Reproduce
Steps to reproduce the behavior:

  1. open vim or neovim with the vim-slime plugin
  2. send something over slime using a command, <C-c><C-c>, or a different remapped shortcut
  3. See error

Screenshots
If applicable, add screenshots to help explain your problem.

Environment details

  • current vim-slime
  • kitty v0.26–0.31, versus kitty v0.32 -v0.32.1
  • macOS 14.2.1
  • en-US keyboard and languages
  • kitty debug output:
kitty 0.32.1 (08d88af2fb) created by Kovid Goyal
Darwin mccec1150.local 23.3.0 Darwin Kernel Version 23.3.0: Wed Dec 20 21:30:44 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T6000 arm64
ProductName:		macOS ProductVersion:		14.3 BuildVersion:		23D56
Frozen: True
Paths:
  kitty: /Applications/kitty.app/Contents/MacOS/kitty
  base dir: /Applications/kitty.app/Contents/Resources/kitty
  extensions dir: /Applications/kitty.app/Contents/Resources/Python/lib/kitty-extensions
  system shell: /bin/zsh
Loaded config files:
  test.conf

Config options different from defaults:
allow_remote_control yes
listen_on            unix:/tmp/mykitty
Removed shortcuts:
	cmd+, →  edit_config_file
	cmd+enter →  new_window
	cmd+h →  hide_macos_app
	cmd+k →  clear_terminal to_cursor active
	cmd+m →  minimize_macos_window
	cmd+n →  new_os_window
	cmd+q →  quit
	cmd+t →  new_tab
	cmd+w →  close_tab
	ctrl+cmd+, →  load_config_file
	ctrl+cmd+f →  toggle_fullscreen
	opt+cmd+h →  hide_macos_other_apps
	opt+cmd+r →  clear_terminal reset active
	opt+cmd+s →  toggle_macos_secure_keyboard_entry
	shift+cmd+/ →  open_url https://sw.kovidgoyal.net/kitty/
	shift+cmd+[ →  previous_tab
	shift+cmd+] →  next_tab
	shift+cmd+d →  close_window
	shift+cmd+w →  close_os_window

Important environment variables seen by the kitty process:
	PATH                                /Applications/kitty.app/Contents/MacOS:/Users/redacted/bin/syncscripts:/usr/local/lib/ruby/gems/2.6.0/bin:/usr/local/opt/ruby/bin:/usr/local/opt/gnu-sed/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/Users/redacted/bin:/opt/homebrew/Caskroom/miniforge/base/envs/npaccel/bin:/opt/homebrew/Caskroom/miniforge/base/condabin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/X11/bin:/Library/Apple/usr/bin:/usr/local/MacGPG2/bin:/Library/TeX/texbin:/Users/redacted/.cargo/bin
	LANG                                en_US.UTF-8
	EDITOR                              nvim
	SHELL                               /bin/zsh
	DISPLAY                             /private/tmp/com.apple.launchd.jXcBahEJMY/org.xquartz:0
	USER                                redacted
	LC_ALL                              en_US.UTF-8
	LC_TERMINAL_VERSION                 3.4.21
	LC_CTYPE                            en_US.UTF-8
	LC_TERMINAL                         iTerm2

Additional context

I am starting kitty with kitty --config test.conf and this minimal test.conf:

allow_remote_control yes
listen_on unix:/tmp/mykitty

I am starting neovim with neovim -u test.vimrc and this minimal test.vimrc:

call plug#begin()
Plug 'jpalardy/vim-slime'
call plug#end()
let g:slime_target = "kitty"
let g:slime_default_config = {"listen_on": $KITTY_LISTEN_ON}

Thanks

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