rio icon indicating copy to clipboard operation
rio copied to clipboard

use-kitty-keyboard-protocol = true doesn't work with tmux

Open jZhangTk opened this issue 1 year ago • 9 comments

Environment:

  • Apple M3
  • OS: Sonoma 14.6.1
  • Rio: Version 0.1.6 (20230528.115631)
  • Tmux: 3.4

I'm using the default config with only use-kitty-keyboard-protocol = true added. It works fine without tmux. However, once I launch tmux, it seems to stop working. E.g. I have a key mapping for ctrl-shift-t set up in Neovim, but it doesn't work when I use it within tmux.

jZhangTk avatar Aug 18 '24 14:08 jZhangTk

Hey @jZhangTk thanks for the issue! Could you test with latest main?

raphamorim avatar Aug 26 '24 06:08 raphamorim

Thanks for the update, @raphamorim. I followed the instructions here and confirmed that the version is 0.1.10 (20230528.115631), but the behavior is still the same.

jZhangTk avatar Aug 27 '24 01:08 jZhangTk

Thank you for testing @jZhangTk! Very interesting, I tested Rio and Kitty key inputs and looks is correct at least. Wondering what could be

Screenshot 2024-08-27 at 16 05 56

raphamorim avatar Aug 27 '24 14:08 raphamorim

I assume it does work with kitty right?

raphamorim avatar Aug 27 '24 14:08 raphamorim

I did a bit of searching, and tested tmux with Kitty and Ghostty but looks the protocol doesn't really work there (at least with no configuration), found this as well https://github.com/tmux/tmux/issues/3335

raphamorim avatar Aug 27 '24 14:08 raphamorim

Interesting. It works fine for me on Kitty. What are you using to test the key press? I can test it on my side too.

jZhangTk avatar Aug 27 '24 17:08 jZhangTk

ah if it does work with kitty terminal then is likely to be a bug in Rio.

I use the kitty cli https://sw.kovidgoyal.net/kitty/invocation/ , there's a command that I can test the inputs kitty +kitten show_key -m kitty

can you send me your tmux configuration as well? I will try to reproduce here

raphamorim avatar Aug 27 '24 17:08 raphamorim

When I was testing it, I commented out everything in tmux.conf, so you don't need any tmux configuration. For Kitty, I also commented out everything except for kitty_mod ctrl+shift+alt so I can use ctrl+shift.

I'm going to test the key press later today and let you know.

jZhangTk avatar Aug 27 '24 20:08 jZhangTk

I'm not sure if I did it right. I tried to run kitty +kitten show_key -m kitty in tmux for both Rio and Kitty, but it behaves very strangely compared to no tmux. When I press a key, it only responds with Text: and nothing else. One thing I noticed is that when I press c-s-t, Rio displays the same Text:, but Kitty does not show anything, as if no key has been pressed, so they do act a little differently.

I should have provided this earlier. Here are the steps I'm using to test if c-s-t works.

  1. Add this line to neovim init.lua
-- reopen a closed tab
vim.keymap.set('n', '<C-S-t>', '<cmd>tabnew#<CR>', { noremap = true, silent = true })
  1. Open neovim in tmux
  2. Press c-s-t
  3. Notice that Rio and Kitty shows different messages (Rio acts as c-t is pressed)

Rio image Kitty image

jZhangTk avatar Aug 28 '24 01:08 jZhangTk

I have a similar issue with meta key not working in my nvim bindings, similar setup and they also work in Kitty but not in Rio!

siimon avatar Dec 19 '24 12:12 siimon

@jZhangTk sorry took a while, tried to reproduce it again.

Few notes, ghostty and alacritty doesn't work as create tab either and more important kitty create a new tab having the keybinding or not. If I have a fresh tmux/nvim (no configuration whatsoever) and run C-S-t it will create a new tab anyway.

raphamorim avatar Jan 06 '25 17:01 raphamorim

Thanks for looking into it, @raphamorim. It's definitely not working in Kitty now. Something must have changed on the Kitty side.

I'm actually fine without supporting C-S-t now since I've remapped it to M-t, but one thing to note is that M-t works with the same setup in Kitty, Ghostly, and Alacritty, but not in Rio.

jZhangTk avatar Jan 06 '25 22:01 jZhangTk

Ok I did some refactors, a lot of stuff was weird tbh. Could you try again? 🙏

raphamorim avatar Jan 15 '25 18:01 raphamorim

Thanks @raphamorim. This is working now 🎉

jZhangTk avatar Jan 16 '25 01:01 jZhangTk

Let’s gooo Thank you for testing @jZhangTk

raphamorim avatar Jan 16 '25 01:01 raphamorim