Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • WezTerm is great. When I switched back to Linux from Apple there were very few things I missed. iTerm2 was one of them, but since I found WezTerm I am pretty happy.

    I tried to use it on Windows as well but unfortunately the Antivirus freaks out on it. When I looked into it it was because of a small utility `strip-ansi-escapes` which is so simple that even I could see that it is a false positive. I tried to report it to Microsoft and other Antivirus companies with some success but in the end I gave up an this Sisyphus task.

  • 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.

  • I love WezTerm! The cross-platform config is easy to version control (unlike iTerm2) and I've added a couple integrations that I use constantly:

    The first is hashing the working directory / (or remote hostname if I'm SSH'd into a host) to set tab title colors- much easier to find the right tab that way.

    The second is writing a script to open tabs with in a certain order and set their titles. I don't use tmux, but this let's me recreate my preferred layout for projects quite easily.

    See https://github.com/bbkane/dotfiles/tree/master/wezterm if any of this sounds useful to you!

  • WezTerm is an absolute joy to use: Scriptable (in Lua), allows creating your own shortcuts, has a command palette, has something like tmux (called mux) for which I have created lua scripts to setup my workspace for different projects. Something like tmuxinator impelemented in WezTerm. - I still use tmux, but mux is nice as well, and I can use splits and navigation natively in WezTerm, no need for prefix-{command} like in tmux. But can have workspaces in WezTerm.

    It allows adding a custom background image, also transparent background, and I can toggle all of that via my custom shortcuts: Transparent on/off, background image on/off/rotate randomly.

    It is such a joy to use and so beautiful. That plus neovim, yazi file browser, and lazygit: Dreamteam. Best dev environment I ever had.

  • I get the error `Your store is blocked` when trying to load the images
  • The thing I love most about wezterm is the `wezterm cli list --format json`, and being able to get various values like the cwd of any terminal by window id. While I don't much tweak my actual wezterm config at all. I use that a lot for various scripts to launch other terminals/file managers in the same directory as the currently active terminal...
  • Wezterm is a lot of fun. I played around with notifications and copy/paste which work even through ssh back to the host.

    https://blog.gripdev.xyz/2025/01/08/wezterm-easily-copy-text...

  • 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.

Explore Birbla archives