return to table of content

Okay, I Like WezTerm

leblancfg
66 replies
1d4h

Recently switched to WezTerm and I'm very happy. Was using kitty before that – loved the set up and simplicity coming from iTerm2. WezTerm is leaps and bounds better in terms of what comes out-of-the-box. My terminal config is short enough to sit all in one screen on my editor. After that, the terminal just... gets out of the way and I don't need to think about it.

But the straw that broke my back with using kitty was, I'd end up encountering issues or trying to recreate some of iTerm2's features, only to end up time and again on kitty's maintainer's terse and dismissive comments.

e.g. IIRC his answer to "How do I set up tmux with kitty?" was something like "Don't, tmux is dumb" and closing it. Eventually I gave up.

saurik
22 replies
1d4h

Yeah: the kitty developer is definitely the sort who believes that he not only knows better than everyone else how to use a terminal, but that everyone else's opinions are fundamentally invalid. That his terminal fails to correctly render such stalwarts as the Linux "make menuconfig" UI and there are no settings to fix it as he doesn't believe in settings is, to me, telling. I then find reading his posts on issue trackers not just insulting, but even "activating" in a way that is really unhealthy, as it results in me feeling a need to "defend" some random bit of terminal usage with just as much vigor, lest he get away with making everyone else sound like THEY are crazy... it really isn't healthy. I can't know for sure--as we don't live in this reality--but I'd like to think that, even if he and I agreed on literally everything there is to do with terminals, that I'd still have the same mindset that I'd rather write my own terminal than ever use his.

pmarreck
7 replies
1d1h

he doesn't believe in settings

wait... whut? No thanks, I like to customize things

aumerle
5 replies
1d1h

You shouldn't believe things you read in hacker news comments. saurik is lying, probably because he once requested some feature that the kitty maintainer didnt like and refused with good reasons, which made saurik want to curl up into a ball and cry. To say kitty has no configuration options is the exact opposite of the truth. Proof: https://sw.kovidgoyal.net/kitty/conf/

saurik
4 replies
20h37m

I mean I might be "lying"... or I might be confusing him with the Gnome Terminal developers, with respect to that one specific tiny quote about "not liking settings".

(FWIW, the setting in question with respect to make menuconfig is "use bold as bright", where the kitty developer is on a vendetta to refuse the historical precedent. He is very adamant that he knows better than most everyone else on this point.)

Either way, I have never claimed to have talked to the kitty developer: I -- as well as multiple others on this thread -- are saying we've read how he handles arguing about terminals, and we don't like it.

Regardless, I do happen to be curled into a ball, and I do happen to look like I am crying... but it is merely because I am sick: I use xterm and I am very happy with the software and like the author.

aumerle
2 replies
15h51m

OK so you are not lying, you are just wrong. Now that you have reduced the scope of your personal attack from he doesn't like settings to he doesn't agree with me about one thing, perhaps you should exercise your new found honesty a bit more and link to the issue where he refused to implement bold as bright and gave his reasons, which are perfectly sensible, namely that having that option means that the developers of terminal programs cannot rely on having a bold font face. Terminals are already limited to using only a single font size, you want to take away the ability to use bold faces as well. And you are trying to sell this as the kitty developer being unreasonable. Shame on you.

saurik
1 replies
14h39m

Look: my issue is that the kitty developer clearly thinks of himself as "God's gift to terminals". I pointed at one specific issue that I think is "telling" of an attitude of "I know better than everyone else", but I am not at all relying on that issue.

I just went through and started looking at recently closed issues on GitHub. I got through four before I found an example of what I think is the problem, and while this is a fairly benign one it is also clearly awkward enough that it shouldn't happen this often and is more than sufficient to clarify the complaint.

In this one, someone carefully points out an issue with a common script for emacs designed to implement the kitty-specific protocol (the one that kovid insisted everyone get on board with, as opposed to the prior art that already had traction, so now we have two competing ones; but that's my complaint, not the poster's).

https://github.com/kovidgoyal/kitty/issues/7711

Kovid then decides to pick a fight by being abrupt and a bit snarky in his response. Again: the issue was just technical and is good enough that I can probably debug the issue... I dream of getting bug reports like this, so this isn't the kind of response I would expect.

I'm afraid I have zero interest in debugging emacs and kkp.el.

This is just downright mean-spirited. You can say something similar in a way that isn't grating in the same way, but Kovid prefers being grating, and clearly the person in the issue also took it this way and they get snarky back:

If you aren't interested that's okay, of course.

OTOH, I have zero interest in debugging Kitty. I'll just use Alacritty or iTerm :-)

Given Kovid's comment, I think this is in some sense a leveled response: Kovid is demonstrating he has little interest in being collaborative or helpful, even in an ecosystem that he created. I certainly don't act like that, even when people would use tools I actively disagreed with, I still would always help them debug it.

Kovid, of course, escalates this one further and leaves the thread in a pretty demoralizing place.

Excellent! Don't let the door hit you on the way out.

Damn :/. That is what I am talking about. He isn't just grating in the way Linus was grating -- though Linus, to be clear, was also an asshole who, at some point, started to realize just how much of a problem he was being and is a lot better today -- and I also don't think he is just grating in the way that people who moralize (I am guilty of this one) do... he's just kind of mean, even when it makes no sense, and the result is that many issue threads with him get this "edge" about them where everyone is slowly escalating the burn until they just drop out of the thread entirely for their mental health.

(Part of me actually wants to now debug this specific issue, but I'd be doing it out of spite, and I do not want to be dragged into that. I only commented on this at all as I didn't want the person further upthread of me to feel alone in commenting on the problem with Kovid, and so I think it is reasonable that I get some of the flak here as I'm willing to bring the receipts.)

So, no: I simply don't think it is fair to say I am being dishonest, and the specific thing you quoted from me about him not liking settings is obviously not the point and wasn't something I delved into, as it didn't matter why: the issue was how... FWIW, in a thread where a bunch of people are all agreeing that Kovid turned them away from using kitty, maybe at least some of us have a point?

aumerle
0 replies
13h54m

Let's discuss the parts you left out in your carefully constructed attempts at character assassination.

1) kitty has a template for issue reporting that the person that reported that issue didn't use, which means it isn't a carefully constructed report.

2) The issue is probably with kkp.el. I don't know about you, but I don't expect maintainers of open source projects to debug all issues in their own projects let alone unrelated ones. Kovid went out of his way to tell the OP exactly how to provide useful debug information. And he did so within a few minutes of the issue being opened.

3) The part you complain about is him saying he has zero interest in debugging kkp.el and emacs. Which is perfectly reasonable, again, why should he have an interest in it. He provided the OP with the means to give him information that he would be interested in debugging instead.

4) He then gets told that the OP would rather use some other terminal rather than provide the debug information he was asked for. Do you have any conception of how rude it is to go to some projects issue tracker and then state you are going to use a competitors product.

5) You tried again to insert an unjustified swipe at Kovid, with "the keyboard protocol he insists everyone get on board with". In reality that keyboard protocol is completely optional, an no one has to use it. The fact that everyone does actually use it, is testament to its being light years ahead of any of the alternatives and represents weeks of hard work on the part of Kovid to finally bring sanity to this corner of the terminal ecosystem. An effort he made for the good of the community. And an effort that has succeeded, since pretty much all modern/maintained terminal software support the protocol as it is clearly superior to the alternatives.

6) You were at best mistaken in making your claim that he doesnt like settings, but given you clearly have an agenda against someone who has done nothing to you other than provide the world free software, I think the default assumption is malice not incompetence on your part.

And yes by all means dont use kitty, I have a strong feeling that Kovid, who has been providing software used by millions of people for decades has reached a point in his life where he recognizes that some users cost way more than others. He is likely very happy that you and people like you give his work a miss.

A position I greatly sympathise with. People that report issues to open source projects need to remember they are asking for help, it behoves them to put in the maximum effort they can to reduce the burden of the free help they are NOT entitled too.

Aeolun
0 replies
17h0m

where the kitty developer is on a vendetta to refuse the historical precedent

I mean, he's not wrong. Everyone else should update their shit to be proper so that he doesn't have to deal with all this legacy nonsense. It's just annoying as hell for people using it right now.

mk12
0 replies
23h31m

kitty is extremely customizable. That's the main reason I use it.

AdmiralAsshat
7 replies
1d3h

Remember that this is the guy who said he would personally maintain python 2 because he didn't want to rewrite calibre for python 3 [0].

I try not to knock the guy, given that kitty and calibre in particular are amazing programs, but I still think you've gotta keep that in mind when engaging.

FWIW, his conduct on the MobileRead forums where he answers questions from newbies and enhancement requests are far more polite and charitable. His ire seems to be reserved for fellow programmers.

[0] https://bugs.launchpad.net/calibre/+bug/1714107

gouggoug
4 replies
1d3h

he answers questions from newbies and enhancement requests are far more polite and charitable. His ire seems to be reserved for fellow programmers.

Some programmers (like myself) have little patience for people they consider should know better and are wasting their time. These same programmers are far more charitable to newbies because they know newbies are still learning.

Remember that this is the guy who said he would personally maintain python 2 because he didn't want to rewrite calibre for python 3 [0].

I read his "I am perfectly capable of maintaining python 2 myself." as "I am perfectly capable of maintaining [calibre running on] python2 myself", which is completely different.

I'm sure some people might also find his answer quite terse and dismissive ("No, it doesn't."), but I read it as a simple statement of facts, using the same tone as the original bug report, which itself is quite terse and imperative "Python 2 is retiring in thirty months. Calibre needs to convert to Python 3."

imoverclocked
2 replies
1d2h

Some programmers (like myself) have little patience for people they consider should know better and are wasting their time. These same programmers are far more charitable to newbies because they know newbies are still learning.

Some programmers are life-long learners and know a very different subset of things. It’s important to remember that just because something is obvious to you doesn’t make it right and doesn’t make it obvious to others.

gouggoug
1 replies
1d2h

Totally agree. Though, usually these programmers know how to properly ask a question, make a bug report and/or feature request.

They wouldn't, for example, just barge in an oss project with arguably low value statements like "Python 2 is retiring in thirty months. Calibre needs to convert to Python 3."

thefaux
0 replies
19h25m

I am guessing you haven't interacted with the developer of kitty. It is astounding how needlessly rude he is. No matter our expertise, we all have areas of ignorance and it is precisely due to that ignorance that we may not have the language to "properly" frame our question. If we had that knowledge, we wouldn't be asking the question in the first place.

I have never seen a maintainer go so far above and beyond to condescend and insult people asking questions -- not making demands like your example. In my case, I asked a question about something that wasn't working as I expected in the github discussions and he repeatedly insulted my intellect (while simultaneously blaming another program when it was in fact a kitty misconfiguration that was causing my issue). He did eventually leave enough breadcrumbs that I was able to solve my problem but rarely have I had such a negative experience with asking an (IMO) not stupid question.

AdmiralAsshat
0 replies
1d

I read his "I am perfectly capable of maintaining python 2 myself." as "I am perfectly capable of maintaining [calibre running on] python2 myself", which is completely different.

That doesn't make sense to me in context. Presumably he was already maintaining calibre on python2 at the time, so what additional information is he adding?

It seems more like he was saying "I am perfectly capable of maintaining my own fork of python2 for however-much-python-I-need to continue developing calibre." Which, granted, is not as grandiose as "I will become the maintainer for the abandoned python2 language for the internet at large to use", but it is still a rather tall order.

sva_
0 replies
1d

His ire seems to be reserved for fellow programmers

If it works for Linus Torvalds, it might work for him

abhinavk
0 replies
1d3h

he answers questions from newbies and enhancement requests are far more polite and charitable. His ire seems to be reserved for fellow programmers.

Like the old Linus. He also over-reacted but there was atleast some reason behind that.

actinium226
5 replies
1d4h

I guess this is what people mean when they say a piece of software is "opinionated"?

leblancfg
1 replies
1d3h

"opinionated" != "jerk"

slightwinder
0 replies
1d3h

How is the dev a jerk when they don't want to invest time into patching their app for the quirks of another app? Especially when kitty seems to have tmux-abilities out-of-the-box. I mean, you can like their solution or not, but calling them a jerk for not supporting your way?

acedTrex
1 replies
1d3h

yep, it is his project. Those that like his opinions will like his software. those that do not will look elsewhere. The beauty of open source

richie_adler
0 replies
1d3h

Nah, I love Calibre but he has lousy opinions that he has to eat over time (he migrated Calibre to Python 3 after all).

II2II
0 replies
1d2h

It depends upon what you mean by opinionated. There is software that expects users to behave in certain ways and there is software where the developer is quite firm about what they will and will not implement. I would say that calibre and kitty fit into the latter category. These applications offer a lot of features and are very configurable, yet they also don't try to be everything to everyone.

While I don't know why Goyal takes the approach he does, I would imagine that a lot of demands are placed on him simply because his software is so powerful (and, in the case of calibre, pretty much the only program in its domain that goes beyond serving basic needs).

throwanem
15 replies
1d3h

Does WezTerm support an equivalent of iTerm's "hotkey window"?

For those unfamiliar, that's a window tied to a show/hide keybinding which when shown floats above all other windows, making a terminal instantly available everywhere - a feature I could live without, but don't care to. I'd love to switch for all of WezTerm's other features, but without that it's simply a nonstarter for me.

lupusreal
4 replies
1d2h

If you use X, you can use tdrop to do this with any window. I have it set up with kitty, pcmanfm, and emacs client.

adammarples
2 replies
1d1h

X?

vladvasiliu
1 replies
1d1h

X11, the "old" [0] Linux graphics server.

---

[0] "old" because there's a new kid in town: wayland.

bgm1975
0 replies
17h5m

And a middle-age'd man named XFree86 lol.

technojamin
3 replies
1d2h

Not out of the box, but I use Hammerspoon to implement a global hotkey to show WezTerm: https://github.com/jaminthorns/environment/blob/a609e81f3f41...

I don't have a keybinding to hide, but you could easily achieve that by inspecting the active window with `hs.window.focusedWindow()`/`hs.window.frontmostWindow()` and making the behavior conditional based on the application: https://www.hammerspoon.org/docs/hs.window.html#focusedWindo...

In WezTerm, you can control whether the terminal is always on top with the `ToggleAlwaysOnTop` action: https://wezfurlong.org/wezterm/config/lua/keyassignment/Togg...

DavideNL
0 replies
1d

Note that this does only the “show/hide’ the window part;

The iTerm2 hotkey window, is a floating window, which for example also works in a space with another Fullscreen window/app opened (without moving to another space.)

wyclif
1 replies
9h45m

Is the setting you're talking about the one under Settings>General>Startup>Window Restoration Policy>Only Restore Hotkey Window, or something else?

throwanem
0 replies
2h8m

That's related to it, but the feature per se is more like a specially handled variety of iTerm's profiles. See https://iterm2.com/documentation-hotkey.html, section "Dedicated Hotkey Windows".

ssijak
1 replies
1d2h

That is the first thing I configure in iTerm. To have it slide down like Quake terminal, and hide it from the dock

organsnyder
0 replies
23h48m

Yakuake is usually the first app I install on a fresh KDE system.

lambdaba
0 replies
1d2h

You can set this up very easily with Hammerspoon, and have it work with whichever terminal or app you want.

ainka-ainka
0 replies
1d

I do it using https://gist.github.com/meowtochondria/8b99b8fbf364eec41ef66... on my Debian based machine running X11. I've bound this script to a key as a global shortcut using OS provided facilities. See the comment on gist if you have a different setup and want to adapt it to your needs. Algo: 1. Find path to wezterm binary by looking at desktop file 2. Use pgrep to get pid of running binary from previous step. 3. If no window is running, launch desktop file using gio 4. If window is running, bring it to front using wmctrl

bramhaag
7 replies
23h21m

e.g. IIRC his answer to "How do I set up tmux with kitty?" was something like "Don't, tmux is dumb" and closing it. Eventually I gave up.

Heh, I switched from Kitty to Wezterm due to the exact same types of comments from the maintainer. It's his project of course, and he's a great programmer, but some humility wouldn't hurt.

Arnavion
3 replies
18h37m

and he's a great programmer

The people who had to deal with the Calibre setuid binaries fiasco in 2011 would probably disagree :) ( https://lwn.net/Articles/465311/ )

Aeolun
1 replies
17h7m

I think that's far enough ago that we can't really draw any conclusions from that to today.

It's like someone deciding my current skill based on how good I was when I left university.

godelski
0 replies
10h20m

While I mostly agree, it looks like the fair amount of the article is about his attitude.

   Something that was a bit surprising was the combative tone that Calibre's lead developer Kovid Goyal took in the comments on the bug. Rather than working with Donenfeld to see what the problems were, he dismissed most of the bugs as invalid. Even after Donenfeld tried to further point out the problems, Goyal was rather sarcastic in response:
    You mean that a program designed to let an unprivileged user mount/unmount/eject anything he wants has a security flaw because it allows him to mount/unmount/eject anything he wants? I'm shocked. 
This does not appear to have changed if you look at his responses to issues. I linked the tmux stuff in a different comment (same root).

Both skills and personality can chance a lot over a decade and I'm glad you're not quick to jump the gun. We need more people like that. But given brash comments over the past few years, it does not seem like this part has changed. He's been working on kitty for 8 years and has only accepted minor PRs and is dismissive of user issues.

port19
0 replies
8h7m

As would anyone that has ever had the displeasure of interacting with him

godelski
1 replies
10h29m

  > the exact same types of comments from the maintainer.
Kovid really bugs me and is a reason I turned away from kitty too. I saw his character when looking up tmux issues. He's brash like Linus, but at least while Linus is calling you an idiot he'll tell you a better way to solve your problem. Kovid seems to think tmux is really about splitting panes and peoples' main draw to it isn't about persistence...

Oh, and kitty phones home

If you want drama:

tmux:

  - https://github.com/kovidgoyal/kitty/issues/391
Phone Home:

  - https://github.com/kovidgoyal/kitty/pull/3544
  - https://github.com/kovidgoyal/kitty/issues/2481
On a side note: I really don't trust devs who reply to issues and close them. I get wanting to remove the issue from the task list, but just set up an action for stale issues (which has an added advantage of pinging the user who may have just lost the message). Otherwise let the user close because they might have follow-up questions. It's just disrespectful and always a red flag. I know lots of users are dumb (I literally just got an issue on a research project with someone asking how they fine tune our model...), but noobs are wizards in training. You don't have to be nice, but don't be mean either. Plus, you'll just piss off people who could end up helping you. And if you don't want help, I expect your project to decay when you get bored. Definitely not what I want from a terminal

port19
0 replies
8h9m

This one is the straw that broke the camels back for me: https://github.com/kovidgoyal/kitty/issues/4965

"Are you sure you want to close this window", meant to only trigger in interactive scenarios like ssh or htop, triggered on the regular shell sometimes. Not even consistently

hodapp
0 replies
19h12m

My story is about the same as yours. Kovid's arrogance pushed me away.

iaresee
4 replies
1d2h

I'm kitty + tmux and have been for a while now. What kind of problems were you encountering?

bibstha
3 replies
1d

I recently moved from Kitty+Tmux to Tmux only setup. I think the maintainer has implemented most of the features in tmux like split panes, switching, changing layouts etc and is probably why says what he says.

For me, I've found Kitty quite configurable enough to have everything except the remote server thing. I used this as my guide: https://www.reddit.com/r/KittyTerminal/comments/z2p2sh/ditch...

medstrom
1 replies
23h59m

Do you mean Kitty only setup?

tennix
0 replies
18h17m

I've been a long tmux user, but I've migrated to Kitty only setup. To make my muscle memory feel at home, I configured Kitty with nearly the same keybindings as tmux. Here is my setup https://blog.funcer.xyz/blog/kitty-terminal/

iaresee
0 replies
2h16m

I appreciate his efforts, but tmux from my cold, dead hands. kitty is nice and fast, but tmux is in my blood (and on remote servers where kitty isn't).

bee_rider
3 replies
1d2h

How are start-up times?

I mostly like kitty but I’ve noticed that it takes a couple seconds to start up when I put my cpu down to 400Mhz. (Which might seem like an odd thing to do, but xterm handles it fine and, hey, why do we need billions of clock cycles to start up a terminal? That’s ridiculous).

teamspirit
1 replies
1d1h

Just out of curiosity, what reason do you have to do that? Really curious to hear.

bee_rider
0 replies
1d

400 is a bit extreme, it is as low as my clock will go. But I often go down to 1200 or 800.

I have an OLED screen and mostly use black background terminals, so I can get some pretty decent battery life out of it, especially at night when I dim the screen.

Dim/red shift/slow CPU is a nice low-distraction night time mode IMO.

Plus it is keeps my palms comfortable even if I accidentally run a computationally intensive code.

fn-mote
0 replies
1d2h

Try using `kitty --single-instance`.

KolenCh
2 replies
23h0m

I concur, a few problems leading me to migrate from kitty to wezterm are related to tmux, color, and ssh.

cpuguy83
1 replies
20h51m

Somewhat fresh kitty user (a few weeks now). What's your ssh issue?

Also saw Wezterm pop up last week and definitely decided I'll give it a go here soon.

KolenCh
0 replies
18h18m

The first two top results:

https://sw.kovidgoyal.net/kitty/faq/#i-get-errors-about-the-...

https://github.com/kovidgoyal/kitty/discussions/3873

Basically it is how it presents itself as xterm-kitty and then how to make others recognize that. Installing terminfo on the remote is an option, lying and claim it to be xterm-256color is another (with caveats.)

As in other issues with kitty, the author is probably right. But for many people that they have many different kinds of remotes to log into where they don’t have control over, getting around with these issues is tedious.

Making kitty works is possible, and I learnt how to deal with these issues one by one, but hearing comments here on HN points me to wezterm and once I migrated I never looked back. For the simple stuffs wezterm gets out of the way. And there’s some interesting advanced stuffs to pick up, such as multiplexing with ssh: https://wezfurlong.org/wezterm/multiplexing.html?h=ssh#ssh-d...

ocodo
1 replies
15h21m

While I see nothing particularly egregious about Kitty's maintainer, other than being a bit of a dick, it's not really the job of a maintainer to be your pal.

Except, when I started using WezTerm at the start of this year... omg, this guy is absolutely fantastic.

I have read scores of his posts and he's struck the perfect tone in every single one. Love this guy, really, he's awesome.

worthless-trash
0 replies
12h28m

For those of us wishing to see, what links are you referring to ?

setopt
0 replies
4h35m

How is WezTerm compared to iTerm2, since you’ve used both?

I’ve tried Kitty a few times, since it has a few features I miss in iTerm2 (e.g. the “i3-gaps” aesthetics if you set the right flags, a plaintext config that is easier to sync, and its graphics and keyboard protocols have a wider ecosystem than iTerm2’s comparable features, and the “layout” feature).

But… I generally find that iTerm2 “just works” and requires little fiddling to get all the everyday stuff to work as I want, but I’ve been down many rabbit holes with my Kitty config. For now I’ve therefore stuck with iTerm2, but imagine that a well-configured Kitty might be nicer.

Is WezTerm a good middle ground?

port19
0 replies
8h12m

kitty has the rudest maintainer I know in all of open source software

gaws
0 replies
21h47m

"How do I set up tmux with kitty?"

What problems were you encountering? It's not hard to run tmux (and use all the keybindings with it) in kitty.

colordrops
0 replies
1d1h

As I get older, overly opinionated and dismissive maintainers are perhaps the biggest red flag for avoiding a project now. They often have what looks like the best product out there, but once you get embedded in the product you get stuck in their choices and have nowhere to turn.

adumer
0 replies
1d4h

Interestingly enough, the article points out something I had the exact same terse and dismissive experience with kitty - following OS theme.

bdhcuidbebe
14 replies
1d4h

Whats not to like of wezterm??

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.

cbm-vic-20
3 replies
1d2h

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.

Other than that, WezTerm is great!

evandrofisico
1 replies
1d1h

It's not tmux specific, i have had the same issue and for me, it was a showstopper.

Cyphus
0 replies
21h44m

I’ve yet to try WezTerm myself, but this single issue would make me switch back to Alacritty.

I did some searching and it looks like the issue might be fixed in latest nightly. See https://github.com/wez/wezterm/pull/5396

jasonjayr
2 replies
1d4h

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

I should wezterm another look ...

tjoff
0 replies
1d3h

I've had similar issues the last few months and have had to switch back to alacritty on every machine I own.

Barrin92
2 replies
1d4h

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.

0cf8612b2e1e
1 replies
1d2h

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.

blt
0 replies
1d

It's not just the language/library: build systems are also a big obstacle for x-platform GUI apps in C.

progbits
1 replies
21h49m

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

Anyone found a good setup that works for them?

gaws
0 replies
16h25m

Look into using Keyboard Maestro and configuring shortcuts exclusive to Wezterm.

hughesjj
0 replies
21h41m

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.

drdaeman
0 replies
23h36m

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.

binary132
9 replies
1d4h

In my experience Wez has been shockingly responsive to GitHub issues and usually fixes things (if they’re actually wrong) within a day or two. I’ve only found one or two minor quibbles involving modifier keys over SSH and overall the functionality is basically perfect for my needs. Plus it’s nice and fast.

(Former avid Alacritty user but needed better modifier support for remote emacs.)

hrez
4 replies
20h42m

I didn't have as positive experience. Granted I commented on a closed issue. In any case it was closed as "won't do" and my comment was ignored. I didn't feel like opening a new issue for the same that was already dismissed. https://github.com/wez/wezterm/issues/4706

naikrovek
1 replies
17h38m

Yeah Wez is limited by tmux behavior. If tmux breaks up one line into many, wezterm can’t undo that.

Wes is right about wezterm domains though. The native domains feature and pane support I think will meet the needs of most.

hrez
0 replies
15h37m

It's the same with no tmux. And it's fine with other terminals. See my comment in the issue.

eredengrin
1 replies
13h13m

The way you phrase that makes it sound like you had a negative experience, was that your intention? For all we know he didn't even see it, there's thousands of issues and PRs and it's not like this is his full time job, so missing a message sounds like a pretty expected and neutral interaction to me. There's a reason they used the word "shockingly" to describe his response time, it's because it's amazing that Wez can respond to even a fraction of all the messages as quickly as he does.

Also in case you wanted to bump up the priority of that bug, he does have github sponsors enabled.

hrez
0 replies
10h9m

The showstopping bug (or misfeature?) reported by others was brushed off, and my comment was ignored. It didn't seem like the path forward would be a pleasant one, so I've uninstalled Wez and gone back to a terminal that works for me. So yes, you could say it was a negative experience. I gave Wez a try as my daily driver, but it just didn’t pan out despite my efforts.

nine_k
1 replies
16h42m

Regarding remote Emacs: WezTerm allows to completely capture and redefine key combinations. There's no good way to send things like C-S-", the terminal protocol just does not support them. So I made WezTerm send "<f12> c s '" instead, and added extra bindings in Emacs. This F12 trick allowed me to send quite complex combos that terminal protocols can't support.

binary132
0 replies
15h34m

Nifty! Appreciate your sharing that. I’ve managed to work around the few annoyances with remote for the most part but I’ve also accepted mostly that it’s just not going to be quite the same. I guess this is one or two steps closer.

bbkane
1 replies
1d3h

Yes!! I opened an issue ( https://github.com/wez/wezterm/issues/4917 ), and not only did he answer it and my side question, he merged the two PRs I made to fix it super quickly!

yonatan8070
0 replies
22h20m

A bit of a tangent, 3 days ago I opened a small issue with RiMusic, not only did the maintainer reply within a few hours, they implemented the feature I requested and it is already in the F-Droid build running on my device

replete
8 replies
1d4h

iTerm's quake-style visor mode bound to a hotkey is too good to give up...

BiteCode_dev
2 replies
1d4h

Often you hear it should be the desktop job to do this, but given most of them don't, it's moot.

replete
0 replies
1d3h

I wish I could bind applications to slide out from left and right, I use slidepad on Mac which is a slide out web browser, and TotalFinder which has a visor feature for the bottom. Little things like this keep me on Mac to be honest

rekoil
0 replies
1d3h

I'm not saying you're wrong, but I want the feature.

I have it in iTerm, and I don't in WezTerm.

We can blame Apple if we want, but they are not going to implement this feature for us.

lkuty
1 replies
1d4h

"quake-style visor mode" what is that feature? I am currently using iTerm2.

replete
0 replies
1d3h

In Quake, the video game, a console would slide down from the top of the screen when you pressed tilde. Combined with splitting terminals its incredibly convenient to have 4 or 5 terminals toggle on a hotkey

marliechiller
0 replies
1d4h

This the the one feature keeping me from jumping. Its so handy!

lambdaba
0 replies
1d1h

On macOS you can easily set this up with Hammerspoon, and it'll be independent of the app being toggled, as it should.

vladstudio
6 replies
1d4h

Upvote! I tried Mac Terminal, iTerm2, Kitty, Warp, etc etc, and settled with WezTerm. Easy to configure, fast, looks nice. I created a theme for it too:

https://tiniri.vlad.studio/

nop_slide
1 replies
1d3h

This theme is very nice! Any way to get it into JetBrains editors?

robotmachine
0 replies
1d

Seconded ^

pivo
0 replies
1d3h

I like your light Vlad theme, installed! Thank you!

mattgreenrocks
0 replies
1d3h

Beautiful theme!

kissgyorgy
0 replies
1d

Very nice!

iamnotarobotman
0 replies
21h7m

Also tried these terminals as well but stuck with Wezterm in the end and its one of my favourites.

I happened to have stumbled upon here to compare those terminals on this site: https://terminaltrove.com/terminals/

Looks pretty useful to me or anyone else that wants to compare terminals.

vijucat
6 replies
1d3h

If I'm fiddling with the terminal or the font, I know it's because I'm procrastinating. I've trained myself to quickly recognize such side-quests and feel a quick punch of hormonal urgency, which helps me get back to work (with mintty and Consolas). You don't need the bells and whistles.

pmarreck
4 replies
1d1h

That's correct if it's always or very often your M.O., but if you rarely mess with it? How about if you spend some time fixing any annoyances that have accrued over time thanks to "involuntary unpaid vacation time"?

For example, I recently reduced my terminal startup time to 1/3 what it was by putting in some optimizations. I'll be able to benefit from that for basically forever.

... Ah, you develop on Windows? This tracks, then... All productivity, no aesthetics >..<

vijucat
3 replies
1d

As an aside, I'm surprised how Apple fans think they're the one with the aesthetics advantage when their Lord and Master allowed them to change the color of their menu bar in...2023? :)

pmarreck
2 replies
1d

That's why I'm a NixOS guy now. Mostly. ;)

The main thing holding me back is the Apple ecosystem integration with my other iOS devices.

pmarreck
0 replies
2h29m

yeah man, I remember reading stuff like that before I was sold on it and eventually it got to me (probably after another borked Arch install) and I was like "fuck it, I am diving into this mess come hell or high water" and...

... Yep. It's exactly as s/he said it. Once you grok it, you literally want it on EVERY COMPUTER YOU OWN.

IMHO it still needs to get more user-friendly, or at least have another layer that is more user-friendly, as well as have ramp-up materials that are consolidated and good, before it will be more widely adopted

qweqwe14
0 replies
1d3h

This, unironically, is entirely correct. Some people spend way too much time configuring stuff that doesn't matter.

"If you've never spent hours ricing your OS, you have no heart. If you still do, you have no brain."

kelsey98765431
6 replies
1d3h

I will literally switch OS to anything that can implement iTerm2's tmux integration.

jonhohle
4 replies
1d3h

I only use tmux on remote machines (because Terminal has all of the features I want and don’t need session management locally). Does anything integrate with remote tmux? It would be great to get native tabs for remote tmux windows.

galkk
2 replies
1d3h

Iterm2, as parent mentioned.

Run tmux -CC on your remote server in your iterm2 and you’ll get native windows for tmux panels

jonhohle
0 replies
1d3h

Nice. I had no idea!

epiccoleman
0 replies
23h30m

I can't believe I'm just learning about this today!

kelsey98765431
0 replies
1d3h

Yes, i literally sometimes need to manage dozens of machines at once, all with various tmux sessions monitoring tasks etc. being able to use the same keybinds for split pane, move between pane, smooth scrolling WITHOUT entering tmux curses based scrolling mode, and local buffering... number one reason i main macos after using linux for decades.

EDIT: the command is `tmux -uCC a` to connect to a tmux session, works locally and works over ssh. spawn the tmux session normally, disconnect, then connect via command mode for best results. you can still spawn a new one with just `tmux -uCC` but i have found i can get some issues when i spawn it in command mode vs attach in command mode.

E39M5S62
0 replies
21h25m

I wrote https://github.com/zdykstra/tmuxc as an alternative implementation of iTerm2's tmux integration. It's terminal agnostic; it just runs a command for each terminal. Depending on the terminal you use, you could probably make it spawn each tmux pane into a dedicated tab.

It's very much designed and built for my specific needs on my specific desktop environments, so there's no promises that it'll work for you well ... or at all.

dmd
6 replies
1d3h

The one thing that keeps me on iTerm2 is Edit->Selection Respects Soft Boundaries.

"When enabled, vertical lines of pipe characters | will be interpreted as pane dividers (as in vim or emacs) and selection will wrap at them."

(For me, it's selecting text in irc.)

https://github.com/wez/wezterm/issues/596

nixosbestos
1 replies
1d3h

Meanwhile zellij just supports this natively if your terminal supports the right OSC thingy. Which it does if you're in this thread.

edit: rough, my bad. missed the via "in irc" part.

dmd
0 replies
1d3h

Reread my comment.

yonatan8070
0 replies
22h12m

That sounds incredible, is there any terminal that supports it on Linux?

ledauphin
0 replies
1d2h

i've been using iterm for... years and had never noticed this setting. Which is a killer feature for my use of emacs.

thanks!

jph
0 replies
1d3h

Yes 100%. This is a superb UI/UX feature once you see it in action.

dmd
0 replies
1d2h

(self-reply) This is basically the Microsoft Word bloat problem. NOBODY needs all the features, but everyone has 10 niche features they want, and nobody wants the same 10. So to get 10 niche features, you accept bloat.

bloopernova
6 replies
1d4h

Oh, very cool that it uses Lua for its configuration. That opens up a massive potential for new behaviours and customization.

Emacs uses Lisp in a similar way. What other applications use a programming language for their configuration?

lawn
0 replies
1d3h

Neovim is the obvious example here, also relying on Lua.

Neovim of course also supports Vimscript, although writing anything more complex is much nicer in Lua.

kragen
0 replies
1d1h

probably the most popular instances of this approach are firefox, chromium, and safari. the unix shell, godot, unity, unreal engine, truetype, and postscript are probably also worth a mention

kccqzy
0 replies
20h41m

XMonad (a window manager) uses Haskell.

johnmaguire
0 replies
1d3h

awesome-wm!

bbkane
0 replies
1d3h

NeoVim also uses Lua and I think nginx does too.

awesomelvin
0 replies
1d3h

Not sure if it counts but the suckless project (e.g. st or dwm) use C (its source code) as config :)

lytedev
3 replies
1d4h

What are you excited about concerning Ghostty? I revisit the project every once in a while, because I think Zig has a wonderful and bright future, but I don't think I could ever use a terminal emulator that isn't completely open-source. WezTerm has an _enormous_ leg up over Ghostty in this regard IMO.

matricaria
1 replies
1d3h

Ghostty will be open source once it is stable enough.

ayhanfuat
0 replies
1d3h

Public beta is planned for this year.

alberth
0 replies
1d3h

Ghostty is still a private project. I plan to open source it one day and share it with more people but for now this is a private personal project.

https://mitchellh.com/ghostty

matricaria
0 replies
1d3h

I love Ghostty. On my old MacBook, it was by far the fastest terminal emulator (yes, I tried all of them, also WezTerm and Alacritty). Now on my new Mac it is still the most beautiful terminal emulator.

lawn
0 replies
1d3h

It feels like I've been waiting for an invite a long time now. I'm eager to try it out.

Then again, I should probably try WezTerm first.

aftbit
5 replies
1d

I really _want_ to like WezTerm but the font rendering just looks bad compared to Alacritty. I understand that this is a very personal feeling and plenty of people like the WezTerm way better... but not me.

The author is not interested in trying to fix this issue, which is totally fine, as they point out font rendering is very subjective, but I'm also not willing to use a terminal that looks worse, even though I like many other things about it better.

https://github.com/wez/wezterm/issues/5331

hughesjj
1 replies
21h38m

Oh man, fonts are fun. Ironically I moved off of alacrity and on to wezterm for font rendering reasons (p10k+patched nerd fonts), but that was pre pandemic

taejavu
0 replies
21h25m

I’m using patched nerd fonts seemingly without issue on alacritty, were your problems specifically with p10k?

taejavu
0 replies
21h28m

Oh wow I was expecting it to be slightly worse, like the subpixel rendering wasn’t quite right. But that is _bad_, to the extent it looks like a totally different font. Dealbreaker.

spartanatreyu
0 replies
14h6m

I'd probably try a few fonts first just to see if it's an issue with rendering, or if the font itself is problematic since sometimes it's the font's fault itself when it's being used in a different environment. (font internals are a crazy rabbit hole to dive down)

Besides, if you're trying another terminal it's also a great excuse to try other things too!

I'm a fan of tools like these where you compare a series of option pairs (in this case font pairs) in succession until it spits out your most preferred option: https://www.codingfont.com/

duskwuff
0 replies
20h43m

I gave WezTerm a spin and it had some showstopper bugs rendering my preferred font (including a vertical offset on "b" to the extent it looks like "h"). Something's definitely not right here.

theusus
4 replies
1d2h

Even though Wezterm has lots of options but it's slow compared to Kitty and maybe even Windows terminal

Ringz
3 replies
1d

Yep. Tried Wez and switched back to Kitty because it’s much faster.

lambdaba
2 replies
1d

on which platform?

benfrain
0 replies
10h16m

macOS for me. Zipping up and down a buffer is noticeably faster (drawing/render wise) in the latest Kitty compared to WezTerm. Using 2019 Intel MBP

Ringz
0 replies
23h18m

Windows. Didn’t test it on my MacBook M1. Both running nvim with the same config.

rob74
3 replies
1d4h

I originally installed WezTerm because I switched from Kubuntu to Ubuntu and wanted some of the features of Konsole (infinite scrollback, searching the scrollback) without actually installing Konsole (I know you can install it under Gnome too, but it just felt... wrong). And yes, it instantly grew on me, although (as I can see from this article) I have barely scratched the surface of its configurability. My only complaint is that its many features are not really discoverable. Sure, the documentation is really good, and the author is very engaged and helpful, but... one example: I looked up how to select large blocks of text using just the keyboard, I did it once, said to myself "I have to remember this!", then promptly forgot it and now I'm back to selecting text with the mouse like an absolute noob because all in all for the few times I do this it's faster than googling that documentation page again...

(in case you're wondering, the page I mean is https://wezfurlong.org/wezterm/copymode.html, not https://wezfurlong.org/wezterm/quickselect.html, which sounds like what I was looking for, but is something completely different - also very handy and a great idea, but not what I was after)

barnabee
0 replies
1d2h

Quickselect mode is amazing though!

It's useful out of the box but the superpower is that you can customise the regexes it matches. I've added one that finds all the filenames output by 'eza --icons' (\p{Co} matches the icon) so I can instantly type (by using shift+the quickselect letters) any filename after doing an ls (aliased to eza).

ajaxnet
0 replies
22h28m

A side question, why switching from Kubuntu ? Because I'm thinking to install it.

maztaim
3 replies
1d4h

I'm a long time tmux fan, but I've been dealing with odd issues related to mouse actions. This is somewhere in alacritty, *vim or tmux. So I futzed with all of them, tried different terminals, all while telling myself it couldn't be tmux. So I just ignored it for over a year. I finally went back and gave wezterm a serious try just a few weeks ago and I am very happy to have switched. The mouse issues I was seeing go away. Splitting panes and resizing lots of panes is fast and responsive. It's built in so copying from a vertical split pane doesn't include the other pane like in tmux.

That doesn't make it perfect. Mouse themes are applied inconsistently as I use Gnome on Wayland. It also seems to be a problem when using neovim, but I can't prove it clearly enough to want to file a bug with anyone. Besides, everything I need to do still works and I rarely use the mouse unless I am copying random gobs of text.

I am sticking with wezterm for the moment. I have no reason to leave it at this point and it helped me reduce the complexity of my stack a teeny bit.

bdhcuidbebe
1 replies
1d4h

for tmux replacement, check out zellij for a modern take.

https://zellij.dev/

maztaim
0 replies
1d4h

Thanks for the link. I've tried this in the past. I feel no reason to try this with wezterm as what I need is already included.

hypnotist
0 replies
1d3h

I use tmux daily. tried to like wezterm but issues with clipboard and resizing made look for another option. Very happy with Tilix now. https://gnunn1.github.io/tilix-web/

maybe less fancy/modern but absolutely rock solid every time.

environment: fedora/wayland/gnome

just throwing this out if anyone wants to test an alternative it out.

ishaanbahal
3 replies
1d4h

Thank you for this write-up! Going to copy a couple of things to my config. TIL, Wezterm has a command palette.

Wezterm with Zellij becomes amazing with how it just simply gets out of the way, even lets you remove window decorations entirely. I've heard Wezterm has a multiplexer too, but just haven't tried it.

Terretta
2 replies
1d4h

I've heard Wezterm has a multiplexer too, but just haven't tried it.

You're in luck, the last half the post is about that.

ishaanbahal
1 replies
1d4h

Did go through it, bookmarked for use, that's how I learned about the command palette, just hard to break the habit of using zellij, that too with tmux mode :D

adem
3 replies
1d4h

I tried WezTerm on Windows because I was looking for a terminal with ligature support and lower input latency than Windows Terminal. Unfortunately, it still had higher input latency than cmd.exe. The only terminal with ligature support that comes close in terms of input latency is contour (https://contour-terminal.org/).

eviks
2 replies
1d3h

did you measure latency? Curious as to how big the difference is

adem
1 replies
1d

I can't provide you with numbers but back when I used Windows on my work machine, I recorded my screen + microphone input using OBS to compare they recorded keystroke sound and appearance of the character on my screen. I was able to confirm my suspicion in that WezTerm yielded higher input latency. This was especially noticeable when using helix inside of WSL - movement in normal mode would always sort of lag behind the keystrokes.

EDIT: Just installed in on my Mac and here, I can't notice any difference between kitty (my current input latency baseline) and WezTerm. Good stuff! Not sure how Windows fares nowadays, though.

wongogue
0 replies
14h38m

I don’t know if it’s my setup or just Windows quirks but even Alacritty feels slower than Windows Terminal.

You can also use Is It Snappy? from the App Store to test typing latency. It was made by Chad Austin who had problems similar to us.

https://chadaustin.me/2017/04/announcing-is-it-snappy/

abhinavk
1 replies
1d3h

Is it better in typing latency though?

hughesjj
0 replies
21h32m

..you have noticable latency when you type? I'm genuinely sorry, that would infuriate me.

Personally I don't notice any typing latency in wezterm. I have p10k as a zsh theme and not really any 'plugins' beyond git for the terminal and use neovim+ also pretty much just got and CoC for an editor. I don't notice any latency when typing and, while not instant, still sub 200ms startup latency.

1-more
0 replies
20h13m

Amen. My motivation for switching was that iTerm2 would hang forever after I hit one of my Rectangle/Spectacle shortcuts. Many whole seconds waiting for it to go through one of the transitions in the 1/3 -> 1/2 -> 2/3 screen-size cycle.

terraplura
2 replies
1d3h

Been a long time user of Alacritty but recently switched to WezTerm. Set up was super quick and having graduated control over opacity and blur was brilliant. Also love that it supports Font Ligatures.

Btw one gotcha on macOS during setup is that the left Option/Alt key does not emit the usual special character mappings, but the right Option key does. You can configure that too!

Cheers Wez!

nebben64
1 replies
1d1h

Thanks for sharing! Just curious, what made you switch from Alacrity? (I was also debating it vs. WezTerm)

terraplura
0 replies
10h5m

Apart from the granular blur control. It was mainly the ligatures support, Alacritty’s developer doesn’t seem too keen on it. And it seems to be the only terminal that renders the ANSI blinking escape code properly (although I don’t think it distinguishes rapid and slow blink). I think it’s a cool feature!

Unlike OP, I hardly use WezTerms features. I have hidden the tabs away and just use the old vim+tmux combo. So my config is just 25 lines. There was no weird colour interaction issue that alacrity+vim+tmux had (and there is a famous gist for). All which is to say I didn’t have to dive deep to migrate.

roydivision
2 replies
1d3h

I recently changed from Alacritty to WezTerm due to bugs in the former and I don't have any complaints so far. It is part of my daily professional workflow, works well with Tmux, under WSL. Great piece of software.

robinsonrc
0 replies
1d1h

I went in the other direction and use Zellij for multiplexing. It works well for me, and I’ll be keeping an eye out for the Ghostty public beta to see how that compares. Great to have all these good options.

CoolCold
0 replies
8h39m

for myself, I couldn't find good reasons to keep using WezTerm vs Windows Terminal - not saying WezTerm is not capable terminal, of course.

rdtsc
2 replies
1d4h

I like it too, and have switched from iTerm2 to WezTerm recently. I tried some others, but WezTerm has window splitting which I use quite a bit so settled on it. Lua config is nice, although I am a minimal config kind of a person, so only have a few settings in there.

Yeah, iTerm2 has a lot of other fancy features, but I just rarely or never used them, so don't really feel like I miss anything.

replete
1 replies
1d3h

ITerm has window splitting btw

rdtsc
0 replies
1d3h

I know that’s why looked for something that also has it. Alacrity didn’t from what I could see.

myst
2 replies
1d1h

Am I a rare one being happy with Terminal.app?

robinsonrc
0 replies
1d1h

I was until I started needing things like true colour support and was forced into trying other options. But if you haven’t noticed anything missing or not working with software that you use then Terminal.app is a fine choice

abathur
0 replies
1d

I'm pretty happy with it.

I try alts when they come up since I might like to use the same thing on macOS and Linux, but I've yet to try one that both has the right features and doesn't feel sluggish.

linsomniac
2 replies
1d4h

I've been using wezterm for around a year, and sponsoring Wez on github, and it's been a fantastic terminal and he's a great developer. One of the things I love most about it, which the article mentions it is not going into, is the quick copy and other copy modes. I use them All. The. Time. C-S-Space and type the letters that appear next to the item you want to copy.

One big use case I have is: mosh+tmux-like functionality from my macos laptop to my work Linux machine. I always have a session running so I can do things on my work machine from my Mac. It gives a re-connectable session plus panes and tabs so I can do work when I'm away from my desk. It's top notch.

ursuscamp
0 replies
22h40m

One really cool feature of the quick copy mode is that if you do the uppercase version of the letters it will automatically paste the value back into the terminal prompt.

Graziano_M
0 replies
15h44m

Wow TIL about that QuickSelect. I will be using that a lot.

kokada
2 replies
1d3h

I also recently switched to WezTerm because it is the only terminal that seems to work cross-platform that is also well supported in Nix/nixpkgs. Before I was using Kitty in NixOS and iTerm2 in macOS, but having one configuration for both OS is good.

P.S.: I am temporary back to Kitty in NixOS because I recently switched from Sway to Hyprland and the current release of WezTerm seems to be having some issues in Hyprland. But will switch back once this issue is solved, I know it is fixed in the main branch for example, but I would prefer to use nixpkgs cache instead of building it from source.

Macha
1 replies
23h10m

Kitty works on macOS too?

kokada
0 replies
9h45m

Yes, but when I did the migration Kitty wasn't supported in macOS in nixpkgs (i.e.: nobody did the package integration). Now looking at the package it looks like it should work, but I now think WezTerm being superior in at least a few things (e.g.: the Lua configuration file is definitely nice).

gtirloni
2 replies
1d4h

The main feature for me is splitting panes. I used to that in tilix and got western working exactly the same (can't stand tmux , sorry).

The Lua configuration is very intuitive as well.

I do get some indirect crashes when Xwayland crashes, which is rare. I had to disable Wayland support in wezterm because the window decorations aren't great yet.

abhinavk
1 replies
1d4h

Same. Panes and tabs are must in a modern terminal emulator. I like tmux but not on my workstation.

bravetraveler
0 replies
1d4h

I'm with you! tmux is pretty much a non-starter for me beyond a remote job manager.

My window manager (Sway) already requires enough wild incantations. If any, I really appreciate simple integration in the terminal.

A little more than 'foot' but not a lot. Tabs/panes, like you say. It gives some more granularity to the organization without a lot of new buttons to push.

I've taken most of the Tilix defaults through several! Currently Kitty... though I may try WezTerm.

enricozb
2 replies
1d5h

One thing I was looking for just yesterday was a way to dump my terminal's (alacrity) scrollback - escape sequences and all - to stdout. I wanted to pipe it to my text editor to search. Alacrity doesn't seem to have this unfortunately, but wezterm does with get-text.

saurik
1 replies
1d4h

Have you tried xterm? It takes a bit longer to configure, as its defaults are universally horrible, but I've found the result to be worth the effort. FWIW, it has this feature you are talking about as part of it's "print" functionality. I bound ctrl-shift-P to print-everything() and then set printerCommand to `xterm -class modal -e sh -c 'vim +"setlocal buftype=nofile" +"g/^$/d" +"normal G$" - <&3' 3<&` (which might be crazy; I didn't think through it for very long). You can use printAttributes to tell it to include the format escape sequences, though (personally) I have that turned off for this purpose (as I find it makes it more difficult to search in my editor; but, again: I didn't spend much time on the editor side of this arrangement).

enricozb
0 replies
1d2h

Hmm I'll have to look into this. After some basic playing around with this feature it might be workable. In my head I had my editor taking over the current program in the terminal, and after exiting it would return to the previous program, but that involves some backgrounding and job manipulation that I haven't given too much thought. Thanks for the tip.

core_dumped
2 replies
1d

I’m glad WezTerm is getting the attention it deserves. I just wish he’d change the icon though… it needs a facelift!

michael_michael
0 replies
1d

Yeah. I wish subtle design cues didn't turn folks off from useful software. That said, when I was test driving terminals a few months ago, I saw WezTerm and just skipped it because the main image shows the opacity-enabled terminal with a Cyberpunk image in the background, and that just seemed…amateurish? Dunno.

This article is convincing me to give it a second look.

xrisk
1 replies
1d4h

You can dump iterm2s config into a file and sync it to other machines.

Granted it’s not meant to be edited directly but rather via the GUI, but yeah it’s possible to persist it if you want.

kamikaz1k
0 replies
15h49m

Every time I’ve tried to do that, it doesn’t carry over.

Does it support all the configurations?

weinzierl
1 replies
1d4h

So many comments from people coming from iTerm. What do you have in your WezTerm config to make it more like iTerm?

spartanatreyu
0 replies
13h47m

As a fellow iterm2 refuge, here's my config:

https://gist.github.com/spartanatreyu/fe6d045c3113f27acaa509...

I added back the familiar option/cmd + arrow key navigation and cmd + click hyperlink behaviour.

There's also some tweaking to make it more similar to iterm's default behaviours (e.g. don't hide the mouse when you start typing).

And finally some personal visual tweaks which you can throw out and replace with your own.

throwaway1194
1 replies
1d4h

Try it on Asahi next.

throwaway1194
0 replies
1d4h

Why the downvote?

steelbrain
1 replies
1d4h

Going to echo some of the thoughts of sibling posters. I'd been an iTerm2 user since I first started using macOS nearly ten years ago.

I had really started to feel it slow down lately. It hit the breaking point when I was cmd-tab-ing and found myself waiting for more than a second just for the terminal to appear.

Looked around, evaluated a couple alternatives and none of them quite fit my taste. One terminal required an account/login to operate, which is a big no IMO, another was written in {Java,Type}Script so simple commands like `yes` would break it due to the async nature of streams in node.js.

I really like WezTerm so far. It's quite fast, very much configurable and comes with the theme I was configuring with iTerm2 out of the box (OneDark (base16)).

My only trouble with it was in the beginning when I had to add the configs for cmd-left and cmd-right in lua config, I really hoped they'd be in there with the defaults.

elashri
0 replies
1d4h

One terminal required an account/login to operate, which is a big no IMO, another was written in {Java,Type}Script so simple commands like `yes` would break it due to the async nature of streams in node.js.

Let me guess, that's wrap and Tabby or extraterm respectively?

sodapopcan
1 replies
1d4h

Nice write up, may try out WezTerm though I only just recently switched to Kitty and I don't like hopping around too often. Correction related to Kitty, though. It does not use either YAML or TOML, it has its own simple config DSL and is otherwise fully scriptable via Python.

mobilemidget
0 replies
1d4h

same here, I just bookmarked it for now

robxorb
1 replies
20h47m

Just tried it. I liked how easy it was to set up colours/fonts etc, using the config file.

But I hit a snag. On macOS, it's standard that in any text window, to select everything for copying, you hit Command-a.

But Command-a in wezterm just printed an "a" character. What?

I spent a while looking in the docs and issues, but couldn't figure out how to Select All.

I don't think I should have to justify it, but in case someone's wondering - it's useful if you want to search or parse an entire Terminal session using some other process (eg, grep), or edit it, or just persist it for example.

Regardless of why, "Select All" is such a standard function it felt quite strange it wasn't suported out of the box.

spartanatreyu
0 replies
13h56m

Select all seems a bit risky in a terminal because it could contain way more information than you'd expect.

e.g. I want to `cat` a file to make sure i've got the right one, but I accidentally cat a full 1gb sql backup rather than the tiny 50 line script I was expecting. Sometime later, I try to select all, copy, switch application, paste for some reason but now I'm stuck waiting for 1gb to copy over

Personally I'm a bit more cautious about copying from a terminal.

Either way if that's what you really want to do, you can check the repo to see how other people scripted it into wezterm:

https://github.com/wez/wezterm/discussions/2026

globular-toast
1 replies
1d4h

A problem I have when I see stuff like this with tabbed interfaces, splitting etc. is it's all at the wrong level of abstraction and compensating for a hopelessly deficient window manager. If you use a window manager like sway then you can layout tabs, splits etc. to your heart's content for any type of window you like. You don't need a terminal emulator to do this for you.

Given that I do already use a window manager like sway, is there much else worthwhile compared to any other terminal emulator?

eredengrin
0 replies
1d1h

Wezterm has built in ssh support where if you open a wezterm ssh window to a remote host and then open new tabs/splits within that window, the new tabs/splits are added as part of the existing ssh session automatically. It also allows you to host the session on the remote machine (kind of like tmux) and when you connect you get back all your previous tab/split organizations. From that perspective it can make sense to have the terminal own the layout organization.

dgacmu
1 replies
1d2h

Ah, rats. It looks nice but to save others a bit of searching, if broadcasting to multiple panes is a requirement for you (something I use often in iterm2), it's not yet supported and not planned for support: https://github.com/wez/wezterm/issues/2658

eredengrin
0 replies
1d1h

Wez left the issue open and said "I personally have no plans to implement this any time soon.", so I have to imagine he's open to PRs. He just has other things to spend his own time on.

colesantiago
1 replies
1d4h

There are so many terminals out there.

Curious what sort of features and other things you look for when looking or comparing terminals like WezTerm and the like?

What are your deal breakers and must haves of a terminal emulator?

ishaanbahal
0 replies
1d4h

For me, speed, simplicity in configuration, and no AI is more or less a good start. I moved from iTerm to Warp recently, before switching to wezterm, and the only reason i dropped Warp (despite signing in) was that it comes in your way a lot, the click to focus on blocks becomes a hindrance for me (I hardly care for the previous blocks), the constant reminders in Red to update and obviously the AI prompting, albeit to the side, they keep trying to find a way for me to use it, but I'd rather stick with CTRL+R or quick google search than write a coherent sentence explaining things to a LLM.

I left iTerm because I couldn't configure it to my liking, although there are certainly ways to do it, i just couldn't. iTerm2 is certainly a good enough terminal, wezterm just somehow suits my needs better.

auditor_3d
1 replies
1d2h

I have tried so many I can't count. I have settled on one that seems to be not as well known but should be. Black Box Terminal. It checks all kinds of great boxes for me, I love it.

https://github.com/yonasBSD/blackbox-terminal

ivanjermakov
0 replies
1d2h

What "great boxes" do you have that more popular terminal emulators are missing?

WD-42
1 replies
1d2h

It’s a great terminal but still a bit warty on Linux/wayland. Unfortunately Wez is on OSX, I assume.

KingOfCoders
1 replies
1d3h

Would like to switch from Tabby on Windows to WezTerm, but would wish the Win installer would setup WSL2 so it just works. For now I don't want to get into learning a Lua config.

zoidb
0 replies
1d3h

Nice to see wezterm on the frontpage! For anyone giving it try beware that link detection doesn't work super well for links containing a `)` character which is something you run into frequently on markdown documents. More info in https://github.com/wez/wezterm/pull/4212 which has a workaround.

tracker1
0 replies
1d

I'll need to look at it again. Mostly been using Tabby lately, which I like aspects of, but it can be sluggish. I really like the new Microsoft Terminal for Windows, but it's Windows only, unfortunately and I mostly use Linux and Mac.

I looked at WezTerm a long while ago, didn't even realize I'd already had it starred. Will try it out again soon. It's just another one of those things, that I prefer to use the same applications (if I can) on all the platforms I use.

throwaway1194
0 replies
1d4h

Does anyone know what the default colorscheme is on wezterm?

test1235
0 replies
1d3h

I've been using wezterm on windows for a while and still not managed to work out how to close a split pane. Is this a bug?

skim
0 replies
1d3h

Wez is coming out with a book too on systems programming in Rust.

https://leanpub.com/sysprog

selectnull
0 replies
1d3h

Like a few people in this thread, I was a decade long user of iTerm2. Can't really remember what was the reason to research other terminals, but I did and among those I tried, WezTerm was the clear winner.

I vaguely remember my main requirement was being able to configure CMD+D and CMD+SHIFT+D as split panes vertically and horizontally as I wasn't willing to retrain my fingers to learn new keystrokes for that. Within a version of two after I switched (back then, those were weeks or less apart), all my complaints were resolved and I never looked back.

My config is fairly minimal, but perfect for my needs. What else can one want?

nopcode
0 replies
7h18m

Why do people mod their terminal prompt to display the current date/time?

It feels like one of these "ricer" things like opening 9 terminals just to run cmatrix and screenfetch.

mianos
0 replies
14h0m

It seems great but it's unusable to me as it does not support any port forwarding and my connections always go through a few jump boxes.

The built in multiplexing is like magic.

kccqzy
0 replies
1d3h

At a previous employer (Google) I really enjoyed using iTerm2, especially its tmux integration (`tmux -CC attach`) and shell integration (the terminal being aware of shell prompts and shell commands and outputs so it can do something intelligent).

After switching employers I no longer have a Mac to run iTerm2 in. So I decided to simply reduce the number of apps I require by running my terminal inside Emacs. The emacs-libvterm project is excellent. These days I no longer need a terminal emulator app.

junon
0 replies
1d

Big Wezterm fanboy here.

javierhonduco
0 replies
20h23m

Haven’t had the chance to play with WezTerm just yet but wanted to share that the author is an incredibly smart, friendly, and humble.

Had the opportunity to work on a project together at work some years back and I can only aspire to be 1/10th as good of an engineer as him. A true hacker.

greazy
0 replies
1d4h

I've been using wezterm for more than a year. The defaults are very good.

I need to look into all the advanced features.

eviks
0 replies
1d3h

My favourite WezTerm feature is its use of Lua for defining config.

That's indeed one of its best features (despite the warts of the language) as you're not as limited in what you can do vs. the data serialization alternative

el_memorioso
0 replies
1d

I used WezTerm for a while and loved it, but then I discovered it had some strange interactions with other programs that use the GPU or OpenGL. In my case, when running WezTerm, the robotics simulation tool Gazebo Classic [0] would only launch properly 1/3 to 1/2 of the time. The rest of the time the simulation appeared to start, but no display ever came up and the program eventually segfalted. I thought this was a Gazebo problem, since it is a bit touchy, but switching to another GPU-accelerated terminal like Kitty or Alacritty solved the problem. I guess the lesson being, if your GL program is misbehaving when launching from WezTerm, try another terminal to see if that doesn't solve the problem.

[0] https://classic.gazebosim.org/

eigenvalue
0 replies
1d2h

I'm looking forward to the eventual release of the new terminal that Mitchell Hashimoto has been working on for fun for a few year, Ghostty. From what he has shared online so far, it looks really awesome and well designed.

benreesman
0 replies
1d4h

Hardware accelerated ligatures. QED.

anothername12
0 replies
1d3h

What are you all doing that requires such fine grain selection of a terminal?

I spend a lot of time in a terminal and just use whatever’s there. Terminal.app or gnome-terminal. Before that it was xterm. Perhaps the only customization is modifier key on Mac as meta.

andrewfromx
0 replies
1d3h

Things I noticed using it:

!= goes to weird ≠ utf8 char. I like != better!

Command-K clears the scroll back but NOT the screen.

Updates:

config.harfbuzz_features = {"calt=0", "clig=0", "liga=0"}

Command-L

andrei_says_
0 replies
1h21m

I’ve been using western but unable to search my command line history or find the relevant documentation.

Ideally fuzzy search of just the commands I’ve entered and not the full scroll history as some results take many hundreds of lines.

Is there a wezterm community where I can ask this and similar questions?

alskdj21
0 replies
1d3h

As a neovim user, wezterm's lua config was a welcome surprise. Imo, its best feature is its command palette (Shift+Ctrl+P). Tremendously helps when you're just getting started. It has also a superb font-related configurations. I do hope I could map specific Unicode codepoints to a particular font, as is the case with kitty.

In terms of use-case, I just disable all its keybindings and use it as a tmux terminal. I admit I didn't look for solutions, but I just can't go away from tmux's session restoration capabilities.

alexcaza
0 replies
23h28m

As a fellow iTerm2 to Wezterm convert this hit home. There’s loads of useful stuff in here, too! Thanks for the write up. I particularly like the projects setup. I built Weztermocil to achieve something similar that uses itermocil’s configs since that’s what we use at work.

https://github.com/alexcaza/weztermocil

WuxiFingerHold
0 replies
14h17m

I had a bit FOMO not using TMUX. But WezTerm and a handful of keybindings for creating tabs, panes, new windows and moving around solved that for me.

CafeRacer
0 replies
1d4h

I have work to do! I won't drop everything right now to check it...

Okay, maybe for just a few minutes.