Alacritty is a
free and open-source
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
GPU
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mob ...
-accelerated
terminal emulator
A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote ter ...
focused on performance and simplicity. Consequently, it does not support
tabs or splits and is configured by editing a text file. It is written in
Rust
Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH), ...
and uses
OpenGL
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve ha ...
(for performance).
A similar terminal emulator that uses OpenGL is
kitty.
History
Joe Wilm announced Alacritty in his blog on 6 January 2017. He describes it as "the result of frustration with existing terminal emulators. Using
vim
Vim means enthusiasm and vigor. It may also refer to:
* Vim (cleaning product)
* Vim Comedy Company, a movie studio
* Vim Records
* Vimentin, a protein
* "Vim", a song by Machine Head on the album ''Through the Ashes of Empires''
* Vim (text ed ...
inside
tmux
tmux is an open-source terminal multiplexer for Unix-like operating systems. It allows multiple terminal sessions to be accessed simultaneously in a single window. It is useful for running more than one command-line program at the same ti ...
in many terminals was a particularly bad experience. None of them were ever quite fast enough". He found
urxvt and
st difficult to configure and criticized their "inability to run on non-
X11 platforms".
With the release of version 0.2.0 in September 2018 Alacritty gained support for scrollback.
In version 0.3.0, released in April 2019, Alacritty entered
beta stage and support for Windows, text reflow, and clicking on
URL
A Uniform Resource Locator (URL), colloquially termed as a web address, is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identifi ...
s was added.
In version 0.5.0, released in July 2020, a mode with
vi keybindings for searching and copying text was added.
In version 0.6.0, released in November 2020, a new binding to cancel search and leave vi mode was added.
Features
Alacritty supports
true color in addition to the standard 16
ANSI colors.
Alacritty explicitly does ''not'' support
tabs or splits because similar functionality can be achieved with a
terminal multiplexer
A terminal multiplexer is a software application that can be used to multiplex several separate pseudoterminal-based login sessions inside a single terminal display, terminal emulator window, PC/workstation system console, or remote login sessio ...
or
window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunct ...
.
Configuration
Alacritty is configured by editing a template file in
YAML
YAML ( and ) (''see '') is a human-readable data-serialization language. It is commonly used for configuration files and in applications where data is being stored or transmitted. YAML targets many of the same communications applications as Ext ...
format, for example:
colors:
primary:
background: '#000000'
See also
*
List of terminal emulators
This is a list of notable terminal emulators. Most used terminal emulators on Linux and Unix-like systems are GNOME Terminal on GNOME and GTK-based environments, Konsole on KDE, and xfce4-terminal on Xfce as well as xterm.
Character-oriente ...
References
{{Terminal emulators
Free terminal emulators
Free software programmed in Rust
X Window programs