Skip to content

kitty send-text workflow broken by 0.32 #7074

Closed
@xxyxxyxyx1

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions