wez / wezterm

A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
https://wezfurlong.org/wezterm/
Other
15.35k stars 692 forks source link

How does Wezterm compare to Alacritty #1766

Closed ghost closed 2 years ago

ghost commented 2 years ago

What are the differences between these two projects? When should users side with one over the other? Why do we as a Rust community need two different terminals? Do they have different approaches/philosophies?

I think it would be nice not only for me, but also for others to have these questions answered :)

CIAvash commented 2 years ago

This question probably should be asked in discussions, since it's not an issue.

You can look at their features:

In addition to those, wezterm has experimental Bidi/RTL support, workspaces, animations, events, ...

Basically I think wezterm has more features and is more configurable and its developer is more friendly and is more active in adding new features.

I personally think the Rust community has a small part in this(although big part in dependencies and contributing), because it's an application used by all, not a library used by Rust developers. Besides it's always good to have more options to choose from. Every developer has different approaches in both designing and implementing a project and its features.

If someone wants an easy answer, use wezterm or Alacritty if you want a simple GPU-accelerated terminal. Use wezterm if you need the features only wezterm provides. But if someone is using Wayland, then I'd suggest using foot as a simple, fast and very lightweight terminal.

Also this bit from Alacritty's FAQ may answer some questions:

Why isn't feature X implemented? ... This could be for a number of reasons, but sometimes it's just not a good fit for Alacritty. This means you won't find things like tabs or splits (which are best left to a window manager or terminal multiplexer) nor niceties like a GUI config editor.

About philosophies, only @wez can answer that.

wez commented 2 years ago

My perception of Alacritty is:

My philosophy/motivation for wezterm is:

Why do we as a Rust community need two different terminals?

The language choice is an implementation detail and the Rust language community itself has no requirements for, or say in, the number of projects that can or should be implemented in Rust.