Live data from Hacker News

How to Obsessively Tune WezTerm

rashil2000.me

51–60 of 73 posts

Re: How to Obsessively Tune WezTerm

#51

Could someone sell me on one of these alternative terminals (kitty, ghostty, wez, etc)? There is probably something I am missing not using GPU backed rendering, but I don’t know what I don’t know.

> Could someone sell me on one of these alternative terminals (kitty, ghostty, wez, etc)?

Because these terminals all use the Kitty protocol, you can finally detect a single ESC press without a timeout hack as well as use shift with arrow keys to do text selection.

The fact that it has taken until 2025 to be able to do something this basic is pathetic.

Re: How to Obsessively Tune WezTerm

#53
I'm having two issues with WezTerm.

1. When I split the terminal in 2 (left/right) and drag the slider around it glitches out and lags. On Linux at least. Like, I can release my mouse button and it'll just glitch back and forth between its old position and new position for a minute before settling down. (It also mangles any text that was already on the screen, but I'm guessing that's an artifact of the underlying shell, not wezterm)

2. I have a bunch of hyperlink regexes configured, but if there's a very long URL being displayed, WezTerm breaks the link. It's like it doesn't want to match URLs across multiple lines except the weird part is that the URL is literally only one line, it's WezTerms wrapping that makes it take multiple lines. So the regex is matching on displayed lines not on \ns, which is weird and breaks me constantly.

Other than those two things, it's pretty good.

Another issue I have with all terminals I've found so far is sometimes a program will just hang and no amount of Ctrl+C will kill it. And it drives me bonkers. I don't understand why the terminal can't take over and kill the entire shell and respawn it if it has to. In Wez I have to kill the pane or close the whole app. I tried digging in the Lua if I could "respawn pane" with a hotkey or something but I couldn't figure anything out that would keep my split-pane positioning.

Re: How to Obsessively Tune WezTerm

#54

I love WezTerm! In the author's spirit of obsessive tweaking, here's a completely inconsequential configuration change I made. By default, WezTerm doesn't have a scrollbar, but you can easily enable it with: config.enable_scroll_bar = true But now you always have a scrollbar, just a big line on the side when there's no scrollback or you're in alternate screen mode. Horrible! So, here's an event handler that will auto…

Now I want more scrollbars. One per pane please. Doesn't seem to be an option.

Re: How to Obsessively Tune WezTerm

#55
I wish I could use Wezterm because it's the only true cross platform terminal with nice features, but on Windows it's buggy, when moving the terminal from one screen to another, when they have different scaling. It's the only bug preventing me from using it.

Re: How to Obsessively Tune WezTerm

#56
I recently made a list of "features I actually use in iTerm 2", while I was looking at alternatives that were cross-platform. The extensibility that WezTerm and others (Kitty takes the cake, it seems) looks promising, but after reading the docs, I don't think any of the trendy terminal emulators can do these two specific features:

1. Custom escape sequences that trigger my own code. iTerm 2 and Kitty support this (Kitty calls them "kittens"), but I don't think any other terminal emulators do. WezTerm appears not to. User variables do come close, but are not quite the same, since a user variable is "declarative" and this behavior is "imperative".

2. Show timestamps for each scrollback line. This is a feature you don't miss until you need it, but I use it, for example, to match log output timestamps to the time I ran a command in mysql console on a remote server.

I don't really care about streaming 134.55 MB/s of text to my terminal emulator; I do care about features that make me productive.

Re: How to Obsessively Tune WezTerm

#57

Could someone sell me on one of these alternative terminals (kitty, ghostty, wez, etc)? There is probably something I am missing not using GPU backed rendering, but I don’t know what I don’t know.

Kitty and wez both have the ability to present graphics on the terminal which may sound like a solution in search of a problem, but once you start using the capability, it's hard to live without it. Wez is also cross platform so I get to use it on my Linux and Mac and my (Ugh) Windows work machine. Configuration being done in Lua is also something I quite like, but your mileage may vary on that one.

This is kinda mind-blowing when combined with yazi[0] for example. You can browse a directory with images or videos on your terminal and see previews of both.

[0] https://yazi-rs.github.io/features

Re: How to Obsessively Tune WezTerm

#58
post #11

Could someone sell me on one of these alternative terminals (kitty, ghostty, wez, etc)? There is probably something I am missing not using GPU backed rendering, but I don’t know what I don’t know.

All I know is that on MacOS iTerm2 is unmatched. Every few months I go in search of something similar to it (as a backup), and every single time, after trying countless terminals, I give up. The closest I've found is WezTerm, and even that is a pale shadow of Iterm2

I use 2-5 different macs semi-regularly.

What killed iTerm2 for me was the fact that syncing settings between machines with chezmoi was next to impossible.

With Wezterm it's just Lua code, easy to diff and easy to apply.

Re: How to Obsessively Tune WezTerm

#59

Earlier quoted context omitted.

iTerm2 does support source control; I've got my settings in a git repo managed by Chezmoi. In the settings dialog, under "General" -> "Settings", there's an "External settings: Load settings from a custom folder or URL" option.

I've also gone wez from iterm2, and you hit upon why. Don't ever make me click on things. I can't script => modify => export clicking on things. When you make me click on things, you've defined my interface for me, which I did not ask for. I suppose I'm a bit of an extremist, though.

Nah, I want my configurations to be deterministic.

I put config in dir, launch app. App should look like config.

If it doesn't it's the app's fault.

There are a limited number of applications I tolerate this behaviour from, but not many.

Re: How to Obsessively Tune WezTerm

#60

Wezterm was great, but I had to stop using it recently because it keeps crashing immediately (across two different computers) on CachyOS/Arch :/ It's just broken on KDE permanently I guess :/ There have beem tickets about it, and there is an AUR repo with a patch that used to fix it... but :/ Was already worried about the project given that it hasn't seen a new release in quite a long time. Got the feeling that the m…

I'm also suffering this on macOS. I can get through an entire work day, but when I close the laptop for the night and come back the next day, wez has crashed and I don't know why.
Post reply on HN