My favorite and often overlooked feature is that wezterm is fully cross os, so if you work like me in Linux, macOS and Windows, then you can just learn wezterm and be done. I even share large parts of my terminal config across os:es.
The one thing I don't like about WezTerm, at least the reason why I stopped using it, is related to how it handles copying wrapped lines into the clipboard. It might just be me, and how I use tmux, but I found that when copying a line that gets wrapped, it includes a newline in the copied text. Very annoying, and I think it has to do with the interaction between WezTerm and tmux.
I don't have enough evidence to create a good bug report, and I WezTerm has its own terminal multiplexing server ("ssh domains"), so it's probably not important enough to fix anyway. I don't want to install the WezTerm multiplexing server everywhere, and tmux is pretty much on all of the places that I ssh into already.
My main pain point switching between work macbook and personal linux machines is the shortcuts. The macos configuration options are limited and require various hacks, and while I could configure things on linux to match I really don't like the macos shortcuts. So I end up with a weird mix and each time I switch keep pressing the wrong keys all the time...
It is not performing well for me, tends to just freeze for a few seconds when switching tabs after some time. No idea why (large scrollback is my only guess, but I'm not sacrificing that) and how to diagnose this.
I switched to Kitty, and while it has its share of issues, at least it works.
that's where the language choices really matter I think. Lua as a programmable configuration language shines because it makes it quite easy to make environment specific changes. Also I think underrated side effect of Rust. A lot of the modern rust tooling has great cross platform support probably because there's a good abstraction layer between language and OS.
Isn’t that more just any language not C or C++? Go, Rust, Java, Python, etc all abstract away significant OS specifics. There are always going to be some thorny differences, but any modern language makes cross compatibility possible in a way that is more challenging for C.
Also it's well tested on all three. One look at wez' repo vs the rest in terms of GitHub actions, issues, and documentation was all the convincing I needed back in like 2019. Haven't turned back since. Heck it even supports tabbing out of the box!
It's the first terminal to truly replace urxvt for me in terms of support and speed. Before I was running termite and kept urxvt as a backup for some odd situations where termite got buggy.
I used wezterm a long while after switching from urxvt. There was a GPU memory leak or something, becuase after opening a bunch of terminals, I found that Graphics in firefox started lagging and dragging. I switched to kitty (And Microsoft Terminal on windows), but I use tmux inside (apparently much to the authors annoyance).
My favorite and often overlooked feature is that wezterm is fully cross os, so if you work like me in Linux, macOS and Windows, then you can just learn wezterm and be done. I even share large parts of my terminal config across os:es.