2016-11-20 00:51:48 -05:00
Alacritty
=========
2018-10-16 13:02:52 -04:00
[![Travis build Status ](https://travis-ci.org/jwilm/alacritty.svg?branch=master )](https://travis-ci.org/jwilm/alacritty)
2018-10-16 15:16:12 -04:00
[![Appveyor build Status ](https://ci.appveyor.com/api/projects/status/github/jwilm/alacritty?svg=true )](https://ci.appveyor.com/project/jwilm/alacritty)
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
2017-01-02 12:07:50 -05:00
rendering enables optimizations that simply aren't possible in other emulators.
2018-11-07 15:04:41 -05:00
Alacritty currently supports macOS, Linux, and Windows.
2017-01-02 12:07:50 -05:00
< p align = "center" >
< img width = "600" alt = "Alacritty running vim inside tmux" src = "https://cloud.githubusercontent.com/assets/4285147/21585004/2ebd0288-d06c-11e6-95d3-4a2889dbbd6f.png" >
< / p >
## About
Alacritty is focused on simplicity and performance. The performance goal means
it should be faster than any other terminal emulator available. The simplicity
2017-06-27 11:59:18 -04:00
goal means that it doesn't have features such as tabs or splits (which can be
better provided by a window manager or [terminal multiplexer][tmux]) nor
niceties like a GUI config editor.
2017-01-02 12:07:50 -05:00
2017-06-27 11:59:18 -04:00
The software is considered to be at an **alpha** level of readiness--there are
missing features and bugs to be fixed, but it is already used by many as a daily
driver.
2018-11-07 15:04:41 -05:00
Precompiled binaries are available from the [GitHub releases page ](https://github.com/jwilm/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
2017-01-04 12:17:56 -05:00
2017-06-27 11:59:18 -04:00
## Installation
2018-10-14 17:01:09 -04:00
Some operating systems already provide binaries for Alacritty, for everyone else the instructions
2018-11-07 15:04:41 -05:00
to build Alacritty from source can be found [here ](INSTALL.md ).
2017-01-02 12:07:50 -05:00
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
```
2018-11-07 15:04:41 -05:00
### openSUSE Tumbleweed
2018-07-21 13:17:41 -04:00
```sh
zypper in alacritty
```
2017-12-09 22:36:09 -05:00
### Void Linux
```sh
xbps-install alacritty
```
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
```
2018-11-01 16:09:19 -04:00
### FreeBSD
2018-11-07 15:04:41 -05:00
2018-11-01 16:09:19 -04:00
```sh
pkg install alacritty
```
2018-11-17 13:29:08 -05:00
### NixOS
```sh
nix-env -iA nixos.alacritty
```
2018-11-15 08:58:24 -05:00
### macOS
```sh
brew cask install alacritty
```
2019-01-24 15:38:11 -05:00
Once the cask is installed, it is recommended to setup the [manual page ](INSTALL.md#manual-page ),
[shell completions ](INSTALL.md#shell-completions ), and [terminfo definitions ](INSTALL.md#terminfo ).
2018-11-15 08:58:24 -05:00
2018-11-03 20:13:18 -04:00
### Other
2018-10-16 13:02:52 -04:00
2019-01-24 15:38:11 -05:00
Prebuilt binaries for Linux, macOS, and Windows can be downloaded from the
[GitHub releases page ](https://github.com/jwilm/alacritty/releases ).
To work properly on Windows, 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
[GitHub releases page ](https://github.com/jwilm/alacritty/releases ).
2018-10-16 13:02:52 -04:00
2017-01-14 15:43:29 -05:00
## Configuration
2017-01-02 12:07:50 -05:00
Although it's possible the default configuration would work on your system,
2017-01-07 16:19:30 -05:00
you'll probably end up wanting to customize it anyhow. There is a default
2018-11-07 15:04:41 -05:00
`alacritty.yml` , `alacritty_macos.yml` , and `alacritty_windows.yml` at the Git repository root.
2018-10-16 13:02:52 -04:00
Alacritty looks for the configuration file as the following paths:
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
2017-11-11 11:24:08 -05:00
If none of these paths are found then
2018-11-07 15:04:41 -05:00
`$XDG_CONFIG_HOME/alacritty/alacritty.yml` is created once Alacritty is first
2017-08-29 12:39:43 -04:00
run. On most systems this often defaults to
`$HOME/.config/alacritty/alacritty.yml` .
2017-01-02 12:07:50 -05:00
Many configuration options will take effect immediately upon saving changes to
2017-10-08 21:10:29 -04:00
the config file. The only exception is the `font` and `dimensions` sections
which requires Alacritty to be restarted. For further explanation of the config
file, please consult the comments in the default config file.
2017-01-02 12:07:50 -05:00
2018-10-16 13:02:52 -04:00
### Windows
2018-11-07 15:04:41 -05:00
On Windows the config file is located at:
2018-10-16 13:02:52 -04:00
`%UserProfile%\alacritty.yml`
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
feature request, feel free to ask about it. Keep in mind that Alacritty is very
much not looking to be a feature-rich terminal emulator with all sorts of bells
and widgets. It's primarily a cross-platform, blazing fast `tmux` renderer that
Just Works.
## FAQ
2018-10-16 13:02:52 -04:00
**_Is it really the fastest terminal emulator?_**
2018-02-27 22:48:37 -05:00
2018-11-07 15:04:41 -05:00
In the terminals I've benchmarked against, Alacritty is either faster, WAY
2018-10-16 13:02:52 -04:00
faster, or at least neutral. There are no benchmarks in which I've found
Alacritty to be slower.
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
2018-10-16 13:02:52 -04:00
**_My arrow keys don't work._**
2018-02-27 22:48:37 -05:00
2018-10-16 13:02:52 -04:00
It sounds like you deleted some key bindings from your config file. Please
reference the default config file to restore them.
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
Wayland support is available, but not everything works as expected. Many people
have found a better experience using XWayland which can be achieved launching
Alacritty with the `WAYLAND_DISPLAY` environment variable cleared:
```sh
env WAYLAND_DISPLAY= alacritty
```
If you're interested in seeing our Wayland support improve, please head over to
the [Wayland meta issue] on the _winit_ project to see how you may contribute.
2017-01-02 12:07:50 -05:00
## License
Alacritty is released under the [Apache License, Version 2.0].
2017-12-17 01:04:10 -05:00
[Apache License, Version 2.0]: https://github.com/jwilm/alacritty/blob/master/LICENSE-APACHE
2017-10-31 11:54:30 -04:00
[faq]: https://github.com/jwilm/alacritty#faq
2017-06-27 11:59:18 -04:00
[tmux]: https://github.com/tmux/tmux
2017-10-21 20:06:47 -04:00
[Wayland meta issue]: https://github.com/tomaka/winit/issues/306