Live data from Hacker News

How to Obsessively Tune WezTerm

rashil2000.me

21–30 of 73 posts

Re: How to Obsessively Tune WezTerm

#21

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.

The main features I use are 1. quick-select the output in the terminal (select files/paths, urls, etc and either copy or paste them at the cursor). This is very useful as you often don't have the foresight to pipe the command to pipe the output of the command to some selection mechanism and even placing text on the line-editor is not that easy by default. 2. view images (sixel or kitty protocol). This is pretty usefu…

[deleted]

Re: How to Obsessively Tune WezTerm

#22
The only thing I want from WezTerm is a warning when I'm about to close a tab. The tabs are too small and the x is easy to hit by accident... thousand lines of bash history and temp env vars gone in an instant.

Otherwise, it's awesome and my default terminal everywhere.

Re: How to Obsessively Tune WezTerm

#23
post #11

Earlier quoted context omitted.

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 switched from iTerm to WezTerm and haven’t looked back. It feels faster and it’s simpler to configure. I only have a basic use case, though, as tmux does all the heavy work for me. People with an appetite for more features might legitimately prefer iTerm, but I can’t endorse the comment “pale shadow of iTerm” for all use cases.

[deleted]

Re: How to Obsessively Tune WezTerm

#24

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.

I really love the following things that I can do with kitty:

- Access the scrollback buffer in neovim

- Access the last command output in neovim

- Animated cursor trails. It sounds dumb at first but I find that when sharing my screen, the cursor trails help other people keep track of my cursor when using neovim.

Here are my configs to quickly load @screen_scrollback or @last_cmd_output in neovim

map kitty_mod+z launch --stdin-source=@screen_scrollback --type=overlay /bin/zsh -c "nvim +$ +'nnoremap q ZQ'"

map kitty_mod+v launch --stdin-source=@last_cmd_output --type=overlay /bin/zsh -c "nvim +$ +'nnoremap q ZQ'"

Re: How to Obsessively Tune WezTerm

#25
post #22

The only thing I want from WezTerm is a warning when I'm about to close a tab. The tabs are too small and the x is easy to hit by accident... thousand lines of bash history and temp env vars gone in an instant. Otherwise, it's awesome and my default terminal everywhere.

you can configure that...

Re: How to Obsessively Tune WezTerm

#26
post #25
post #22

The only thing I want from WezTerm is a warning when I'm about to close a tab. The tabs are too small and the x is easy to hit by accident... thousand lines of bash history and temp env vars gone in an instant. Otherwise, it's awesome and my default terminal everywhere.

you can configure that...

Please show me where. It only works for tabs that have a running process.

Re: How to Obsessively Tune WezTerm

#27
post #26
post #25

Earlier quoted context omitted.

you can configure that...

Please show me where. It only works for tabs that have a running process.

oh, you might be doing it via the UI, I turn off all the UI elements and hotkey everything, if you use hotkeys you can add a thing like :- action = wezterm.action.CloseCurrentTab { confirm = true },

Re: How to Obsessively Tune WezTerm

#28
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 automatically hide the scrollbar when not needed, giving it the same behavior as scrollbars in modern applications:

  -- Hide the scrollbar when there is no scrollback or alternate screen is active
  wezterm.on("update-status", function(window, pane)
    local overrides = window:get_config_overrides() or {}
    local dimensions = pane:get_dimensions()

    overrides.enable_scroll_bar = dimensions.scrollback_rows > dimensions.viewport_rows and not pane:is_alt_screen_active()

    window:set_config_overrides(overrides)
  end)
And that kinda sums up the development philosophy of WezTerm. It has basically all the building blocks you'd ever need with nice APIs. It's set up quite usably by default, but anything that's missing you can probably implement yourself.

Re: How to Obsessively Tune WezTerm

#29
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 maintainer has mostly moved on.

Re: How to Obsessively Tune WezTerm

#30

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.

I was using Wezterm because of the cross platform and the lua config (let's me reuse my mad lua skilz from keeping my nvim config).

The thing that made me switch to Ghostty was the image support in wez didn't play well with tmux.

After testing wez, kitty, and Ghostty, I ended up going with Ghostty.

I do miss the idea of the whole lua config thing, but since I never did anything with it, I can't treat that as a practical concern.

Post reply on HN