← Back to context

Comment by em-bee

1 day ago

i tried using kitty a year ago. i was not impressed: https://news.ycombinator.com/item?id=40478732

kovid is talking about how tmux gets in the way of terminals adding new features. i agree with that, but what about the features that tmux offers that i have yet to see in any gui terminal. (multiple sessions. the ability to connect to the same session from multiple terminals. scriptability, including sending characters into a terminal. splitting windows into multiple panes...)

can kitty do any of those? if you want to add features to the terminal, then you have to content that tmux does as well, and maybe tmux features are more interesting to me than kittys. so if you want to win me over, then you have to actually implement some of the features of tmux that i use.

(watching the interview, it looks like kitty does indeed implement some of tmux features, because interestingly the interviewer asks just the right questions. but i need to look for a more comprehensive introduction to see how kitty can replace tmux locally.)

It seems that WezTerm can do what you asked

  • all right, a year ago i tried kitty: https://wezterm.org/config/files.html

    turns out that the config example for the color scheme conflicts with setting other config values. i need

        config.color_scheme = ...
        return config
    
     not 
    
        return { color_scheme = ... }
    

    that could have been explained better.

    and finally, how do i switch sessions or tabs? no word about that on the multiplex page. or elsewhere.

    fortunately, i found this article which describe an elaborate setup to make wezterm behave somewhat like tmux, with familiar keybindings. maybe i can get this to work: https://mwop.net/blog/2024-07-04-how-i-use-wezterm.html

    oh, one last issue: there are no resize handles, or a titlebar, although according to the descriptions they should be there. where did they go?

    • i found the titlebar: https://github.com/wezterm/wezterm/issues/6296

      it's ugly as hell. but that's partly gnomes fault for not supporting server side decorations. and, at least they are already working on something nicer.

      but now i have two sets of titlebar buttons. one set in the titlebar, and a somewhat nicer looking set in the tabbar. but i found a workaround: if i turn window_decorations off, then i get nothing, but i can turn it back on without restarting and then i only get the integrated buttons in the tabbar without the ugly titlebar. now i only need to find a way to script this...

      in the meantime i'll just run it without a titlebar. i figured out how to maximize the terminal on startup: https://stackoverflow.com/questions/78738575/how-to-maximize... , that will do for now. i rarely need to resize or close it anyways.

    • When I first tried to port my tmux config to wezterm it took about a day to learn about all the wezterm concepts, map them to their tmux equivalents, and reach an mvp. I tend to be on the slower side to pick things up though.

      Locally - I far prefer wezterm now. The only issue for me was that getting persistent server side sessions seemed to come at the cost of some weird neovim gui refresh and latency issues which I'm not sure are fully solved yet, so I still use tmux for that. Looking at the issue tracker, maybe I should try again, seems that at least some refresh issues have been addressed since I last checked https://github.com/wezterm/wezterm/issues/4607

      1 reply →