2019-04-01 18:41:20 -04:00
|
|
|
<h1 align="center">Alacritty</h1>
|
|
|
|
<p align="center">
|
2019-11-28 13:09:14 -05:00
|
|
|
<img width="200" alt="Alacritty Logo" src="extra/logo/compat/alacritty-term+scanlines.png">
|
2019-04-01 18:41:20 -04:00
|
|
|
</p>
|
2017-01-02 12:07:50 -05:00
|
|
|
|
2017-01-04 15:14:32 -05:00
|
|
|
Alacritty is the fastest terminal emulator in existence. Using the GPU for
|
2019-02-18 14:54:46 -05:00
|
|
|
rendering enables optimizations that simply aren't possible without it.
|
|
|
|
Alacritty currently supports macOS, Linux, BSD, and Windows.
|
2017-01-02 12:07:50 -05:00
|
|
|
|
|
|
|
<p align="center">
|
2019-02-18 14:54:46 -05:00
|
|
|
<img width="600"
|
|
|
|
alt="Alacritty running vim inside tmux"
|
|
|
|
src="https://cloud.githubusercontent.com/assets/4285147/21585004/2ebd0288-d06c-11e6-95d3-4a2889dbbd6f.png">
|
2017-01-02 12:07:50 -05:00
|
|
|
</p>
|
|
|
|
|
|
|
|
## About
|
|
|
|
|
2019-02-18 14:54:46 -05:00
|
|
|
Alacritty is a terminal emulator with a strong focus on simplicity and
|
|
|
|
performance. With such a strong focus on performance, included features are
|
|
|
|
carefully considered and you can always expect Alacritty to be blazingly fast.
|
|
|
|
By making sane choices for defaults, Alacritty requires no additional setup.
|
|
|
|
However, it does allow [configuration](#configuration) of many aspects of the
|
|
|
|
terminal.
|
2017-01-02 12:07:50 -05:00
|
|
|
|
2019-02-18 14:54:46 -05:00
|
|
|
The software is considered to be at a **beta** level of readiness -- there are
|
|
|
|
a few missing features and bugs to be fixed, but it is already used by many as
|
|
|
|
a daily driver.
|
2017-06-27 11:59:18 -04:00
|
|
|
|
2020-01-10 20:23:13 -05:00
|
|
|
Precompiled binaries are available from the [GitHub releases page](https://github.com/alacritty/alacritty/releases).
|
2017-01-06 12:30:01 -05:00
|
|
|
|
2017-01-21 13:00:07 -05:00
|
|
|
## Further information
|
2017-01-04 12:17:56 -05:00
|
|
|
|
2018-11-07 15:04:41 -05:00
|
|
|
- [Announcing Alacritty, a GPU-Accelerated Terminal Emulator](https://jwilm.io/blog/announcing-alacritty/) January 6, 2017
|
2017-01-21 13:00:07 -05:00
|
|
|
- [A short talk about Alacritty at the Rust Meetup January 2017](https://air.mozilla.org/rust-meetup-january-2017/) (starts at 57:00)
|
2018-09-17 11:56:15 -04:00
|
|
|
- [Alacritty Lands Scrollback, Publishes Benchmarks](https://jwilm.io/blog/alacritty-lands-scrollback/) September 17, 2018
|
2019-04-10 14:11:20 -04:00
|
|
|
- [Version 0.3.0 Release Announcement](https://blog.christianduerr.com/alacritty_030_announcement) April 07, 2019
|
2017-01-04 12:17:56 -05:00
|
|
|
|
2017-06-27 11:59:18 -04:00
|
|
|
## Installation
|
|
|
|
|
2019-02-18 14:54:46 -05:00
|
|
|
Some operating systems already provide binaries for Alacritty, for everyone
|
|
|
|
else the instructions to build Alacritty from source can be found [here](INSTALL.md).
|
2017-01-02 12:07:50 -05:00
|
|
|
|
2020-02-17 19:15:05 -05:00
|
|
|
### Alpine Linux
|
|
|
|
|
|
|
|
```sh
|
|
|
|
apk add alacritty
|
|
|
|
```
|
|
|
|
|
2017-01-14 15:43:29 -05:00
|
|
|
### Arch Linux
|
|
|
|
|
|
|
|
```sh
|
2018-09-17 15:09:39 -04:00
|
|
|
pacman -S alacritty
|
2017-01-14 15:43:29 -05:00
|
|
|
```
|
|
|
|
|
2019-08-01 00:58:32 -04:00
|
|
|
### Fedora
|
2018-07-21 13:17:41 -04:00
|
|
|
|
2019-08-01 00:58:32 -04:00
|
|
|
Unofficial builds of stable tags can be found in Fedora Copr:
|
|
|
|
[pschyska/alacritty](https://copr.fedorainfracloud.org/coprs/pschyska/alacritty/).
|
2017-12-09 22:36:09 -05:00
|
|
|
|
2019-08-01 00:58:32 -04:00
|
|
|
``` sh
|
|
|
|
dnf copr enable pschyska/alacritty
|
|
|
|
dnf install alacritty
|
2017-12-09 22:36:09 -05:00
|
|
|
```
|
|
|
|
|
2019-08-01 00:58:32 -04:00
|
|
|
If you want to help test pre-releases, you can additionally enable
|
|
|
|
[pschyska/alacritty-testing](https://copr.fedorainfracloud.org/coprs/pschyska/alacritty-testing/).
|
|
|
|
|
2018-10-27 07:14:13 -04:00
|
|
|
### Gentoo Linux
|
2018-10-26 20:49:55 -04:00
|
|
|
|
|
|
|
```sh
|
2018-10-27 07:14:13 -04:00
|
|
|
emerge x11-terms/alacritty
|
2018-10-26 20:49:55 -04:00
|
|
|
```
|
|
|
|
|
2020-02-29 20:33:36 -05:00
|
|
|
### GNU Guix
|
|
|
|
|
|
|
|
```sh
|
|
|
|
guix package -i alacritty
|
|
|
|
```
|
|
|
|
|
2019-08-01 00:58:32 -04:00
|
|
|
### Mageia
|
2018-12-18 16:41:17 -05:00
|
|
|
|
|
|
|
```sh
|
|
|
|
urpmi alacritty
|
|
|
|
```
|
|
|
|
|
2019-08-01 00:58:32 -04:00
|
|
|
### NixOS
|
2018-11-07 15:04:41 -05:00
|
|
|
|
2018-11-01 16:09:19 -04:00
|
|
|
```sh
|
2019-08-01 00:58:32 -04:00
|
|
|
nix-env -iA nixos.alacritty
|
2018-11-01 16:09:19 -04:00
|
|
|
```
|
|
|
|
|
2019-08-01 00:58:32 -04:00
|
|
|
### openSUSE Tumbleweed
|
2018-11-17 13:29:08 -05:00
|
|
|
|
|
|
|
```sh
|
2019-08-01 00:58:32 -04:00
|
|
|
zypper in alacritty
|
|
|
|
```
|
|
|
|
|
|
|
|
### Pop!\_OS / Ubuntu
|
|
|
|
|
|
|
|
> If you're not running Pop!_OS, you'll have to add a third party repository first:
|
|
|
|
>
|
|
|
|
> ```sh
|
|
|
|
> add-apt-repository ppa:mmstick76/alacritty
|
|
|
|
> ```
|
|
|
|
|
|
|
|
```sh
|
|
|
|
apt install alacritty
|
2018-11-17 13:29:08 -05:00
|
|
|
```
|
|
|
|
|
2019-01-12 14:55:03 -05:00
|
|
|
### Solus
|
|
|
|
|
|
|
|
```sh
|
|
|
|
eopkg install alacritty
|
|
|
|
```
|
|
|
|
|
2019-08-01 00:58:32 -04:00
|
|
|
### Void Linux
|
2019-06-16 15:47:59 -04:00
|
|
|
|
2019-08-01 00:58:32 -04:00
|
|
|
```sh
|
|
|
|
xbps-install alacritty
|
2019-06-16 15:47:59 -04:00
|
|
|
```
|
|
|
|
|
2019-08-01 00:58:32 -04:00
|
|
|
### FreeBSD
|
|
|
|
|
|
|
|
```sh
|
|
|
|
pkg install alacritty
|
|
|
|
```
|
2019-06-16 15:47:59 -04:00
|
|
|
|
2018-11-15 08:58:24 -05:00
|
|
|
### macOS
|
|
|
|
|
|
|
|
```sh
|
|
|
|
brew cask install alacritty
|
|
|
|
```
|
|
|
|
|
2020-07-04 10:03:48 -04:00
|
|
|
Once the cask is installed, it is recommended to setup the manual page, shell
|
|
|
|
completions, and terminfo definitions. These are located inside the installed
|
|
|
|
application's Resources directory: `Alacritty.app/Contents/Resources`.
|
2018-11-15 08:58:24 -05:00
|
|
|
|
2019-02-18 14:54:46 -05:00
|
|
|
### Windows
|
2018-12-14 05:00:50 -05:00
|
|
|
|
2019-02-25 18:45:17 -05:00
|
|
|
#### Via [Chocolatey](https://chocolatey.org)
|
|
|
|
|
|
|
|
```batch
|
|
|
|
choco install alacritty
|
|
|
|
```
|
|
|
|
|
2018-12-14 05:00:50 -05:00
|
|
|
#### Via [Scoop](https://scoop.sh)
|
|
|
|
|
|
|
|
```batch
|
|
|
|
scoop bucket add extras
|
|
|
|
scoop install alacritty
|
|
|
|
```
|
|
|
|
|
2018-11-03 20:13:18 -04:00
|
|
|
### Other
|
2018-10-16 13:02:52 -04:00
|
|
|
|
2019-02-02 07:00:29 -05:00
|
|
|
Prebuilt binaries for Linux, macOS, and Windows can be downloaded from the
|
2020-01-10 20:23:13 -05:00
|
|
|
[GitHub releases page](https://github.com/alacritty/alacritty/releases). If your
|
2019-11-28 13:09:14 -05:00
|
|
|
desktop environment has trouble rendering the default SVG icons, you can find
|
|
|
|
a prerendered SVG as well as simplified versions of the SVG in the
|
|
|
|
`extra/logo/compat` directory.
|
2019-02-02 07:00:29 -05:00
|
|
|
|
2019-12-21 16:23:18 -05:00
|
|
|
On Windows, Alacritty also requires Microsoft's VC++ redistributable.
|
2018-10-16 13:02:52 -04:00
|
|
|
|
2019-12-21 16:23:18 -05:00
|
|
|
For Windows versions older than Windows 10 (October 2018 Update), Alacritty
|
|
|
|
requires winpty to emulate UNIX's PTY API. The agent is a single binary
|
|
|
|
(`winpty-agent.exe`) which **must** be in the same directory as the Alacritty
|
|
|
|
executable and is available through the
|
2020-01-10 20:23:13 -05:00
|
|
|
[GitHub releases page](https://github.com/alacritty/alacritty/releases).
|
2019-04-09 17:05:26 -04:00
|
|
|
|
2017-01-14 15:43:29 -05:00
|
|
|
## Configuration
|
2017-01-02 12:07:50 -05:00
|
|
|
|
2019-10-06 06:47:20 -04:00
|
|
|
You can find the default configuration file with documentation for all available
|
2020-01-10 20:23:13 -05:00
|
|
|
fields on the [GitHub releases page](https://github.com/alacritty/alacritty/releases) for each release.
|
2019-10-06 06:47:20 -04:00
|
|
|
|
2020-02-07 18:39:39 -05:00
|
|
|
Alacritty doesn't create the config file for you, but it looks for one in the
|
|
|
|
following locations:
|
2017-01-07 16:19:30 -05:00
|
|
|
|
|
|
|
1. `$XDG_CONFIG_HOME/alacritty/alacritty.yml`
|
2017-01-07 19:12:28 -05:00
|
|
|
2. `$XDG_CONFIG_HOME/alacritty.yml`
|
|
|
|
3. `$HOME/.config/alacritty/alacritty.yml`
|
2017-01-09 01:40:47 -05:00
|
|
|
4. `$HOME/.alacritty.yml`
|
2017-01-07 16:19:30 -05:00
|
|
|
|
2018-10-16 13:02:52 -04:00
|
|
|
### Windows
|
|
|
|
|
2020-02-07 18:39:39 -05:00
|
|
|
On Windows, the config file should be located at:
|
2018-10-16 13:02:52 -04:00
|
|
|
|
2018-12-28 10:26:58 -05:00
|
|
|
`%APPDATA%\alacritty\alacritty.yml`
|
2018-10-16 13:02:52 -04:00
|
|
|
|
2019-04-09 15:29:46 -04:00
|
|
|
## Contributing
|
|
|
|
|
|
|
|
A full guideline about contributing to Alacritty can be found in the
|
|
|
|
[`CONTRIBUTING.md`](CONTRIBUTING.md) file.
|
|
|
|
|
2018-11-07 15:04:41 -05:00
|
|
|
## Issues (known, unknown, feature requests, etc.)
|
2017-01-02 12:07:50 -05:00
|
|
|
|
|
|
|
If you run into a problem with Alacritty, please file an issue. If you've got a
|
2019-02-18 14:54:46 -05:00
|
|
|
feature request, feel free to ask about it. Please just keep in mind Alacritty
|
|
|
|
is focused on simplicity and performance, and not all features are in line with
|
|
|
|
that goal.
|
|
|
|
|
|
|
|
Before opening a new issue, please check if it has already been reported.
|
|
|
|
There's a chance someone else has already reported it, and you can subscribe to
|
|
|
|
that issue to keep up on the latest developments.
|
2017-01-02 12:07:50 -05:00
|
|
|
|
|
|
|
## FAQ
|
|
|
|
|
2018-10-16 13:02:52 -04:00
|
|
|
**_Is it really the fastest terminal emulator?_**
|
2018-02-27 22:48:37 -05:00
|
|
|
|
2020-01-10 20:23:13 -05:00
|
|
|
In the terminals we've [benchmarked](http://github.com/alacritty/vtebench),
|
2019-02-18 14:54:46 -05:00
|
|
|
Alacritty is either faster or **way** faster than the others. If you've found a
|
|
|
|
case where this isn't true, please report a bug.
|
|
|
|
|
|
|
|
**_Why isn't feature X implemented?_**
|
|
|
|
|
|
|
|
Alacritty has many great features, but not every feature from every other
|
|
|
|
terminal. 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][tmux]) nor
|
|
|
|
niceties like a GUI config editor.
|
2018-02-27 22:48:37 -05:00
|
|
|
|
2018-10-16 13:02:52 -04:00
|
|
|
**_macOS + tmux + vim is slow! I thought this was supposed to be fast!_**
|
2018-02-27 22:48:37 -05:00
|
|
|
|
2018-10-16 13:02:52 -04:00
|
|
|
This appears to be an issue outside of terminal emulators; either macOS has an
|
|
|
|
IPC performance issue, or either tmux or vim (or both) have a bug. This same
|
|
|
|
issue can be seen in `iTerm2` and `Terminal.app`. I've found that if tmux is
|
|
|
|
running on another machine which is connected to Alacritty via SSH, this issue
|
|
|
|
disappears. Actual throughput and rendering performance are still better in
|
|
|
|
Alacritty.
|
2018-02-27 22:48:37 -05:00
|
|
|
|
2017-01-19 02:02:53 -05:00
|
|
|
## IRC
|
|
|
|
|
|
|
|
Alacritty discussion can be found in `#alacritty` on freenode.
|
2017-01-02 12:07:50 -05:00
|
|
|
|
2017-10-21 20:06:47 -04:00
|
|
|
## Wayland
|
|
|
|
|
2019-04-23 11:27:34 -04:00
|
|
|
Wayland is used by default on systems that support it. Using XWayland may
|
|
|
|
circumvent Wayland specific issues and can be enabled through:
|
2017-10-21 20:06:47 -04:00
|
|
|
|
|
|
|
```sh
|
2019-04-23 11:27:34 -04:00
|
|
|
env WINIT_UNIX_BACKEND=x11 alacritty
|
2017-10-21 20:06:47 -04:00
|
|
|
```
|
|
|
|
|
2017-01-02 12:07:50 -05:00
|
|
|
## License
|
|
|
|
|
|
|
|
Alacritty is released under the [Apache License, Version 2.0].
|
|
|
|
|
2020-01-10 20:23:13 -05:00
|
|
|
[Apache License, Version 2.0]: https://github.com/alacritty/alacritty/blob/master/LICENSE-APACHE
|
2017-06-27 11:59:18 -04:00
|
|
|
[tmux]: https://github.com/tmux/tmux
|