alacritty

fork of https://github.com/jwilm/alacritty, experimental
git clone git://git.thc420.xyz/alacritty
Log | Files | Refs | README

README.md (7347B)


      1 <h1 align="center">Alacritty</h1>
      2 <p align="center">
      3     <img width="200" alt="Alacritty Logo" src="extra/logo/alacritty-term+scanlines.svg">
      4 </p>
      5 
      6 Alacritty is the fastest terminal emulator in existence. Using the GPU for
      7 rendering enables optimizations that simply aren't possible without it.
      8 Alacritty currently supports macOS, Linux, BSD, and Windows.
      9 
     10 <p align="center">
     11   <img width="600"
     12        alt="Alacritty running vim inside tmux"
     13        src="https://cloud.githubusercontent.com/assets/4285147/21585004/2ebd0288-d06c-11e6-95d3-4a2889dbbd6f.png">
     14 </p>
     15 
     16 ## About
     17 
     18 Alacritty is a terminal emulator with a strong focus on simplicity and
     19 performance. With such a strong focus on performance, included features are
     20 carefully considered and you can always expect Alacritty to be blazingly fast.
     21 By making sane choices for defaults, Alacritty requires no additional setup.
     22 However, it does allow [configuration](#configuration) of many aspects of the
     23 terminal.
     24 
     25 The software is considered to be at a **beta** level of readiness -- there are
     26 a few missing features and bugs to be fixed, but it is already used by many as
     27 a daily driver.
     28 
     29 Precompiled binaries are available from the [GitHub releases page](https://github.com/jwilm/alacritty/releases).
     30 
     31 ## Further information
     32 
     33 - [Announcing Alacritty, a GPU-Accelerated Terminal Emulator](https://jwilm.io/blog/announcing-alacritty/) January 6, 2017
     34 - [A short talk about Alacritty at the Rust Meetup January 2017](https://air.mozilla.org/rust-meetup-january-2017/) (starts at 57:00)
     35 - [Alacritty Lands Scrollback, Publishes Benchmarks](https://jwilm.io/blog/alacritty-lands-scrollback/) September 17, 2018
     36 - [Version 0.3.0 Release Announcement](https://blog.christianduerr.com/alacritty_030_announcement) April 07, 2019
     37 
     38 ## Installation
     39 
     40 Some operating systems already provide binaries for Alacritty, for everyone
     41 else the instructions to build Alacritty from source can be found [here](INSTALL.md).
     42 
     43 ### Pop!\_OS / Ubuntu
     44 
     45 > If you're not running Pop!_OS, you'll have to add a third party repository first:
     46 >
     47 > ```sh
     48 > add-apt-repository ppa:mmstick76/alacritty
     49 > ```
     50 
     51 ```sh
     52 apt install alacritty
     53 ```
     54 
     55 ### Arch Linux
     56 
     57 ```sh
     58 pacman -S alacritty
     59 ```
     60 
     61 ### openSUSE Tumbleweed
     62 
     63 ```sh
     64 zypper in alacritty
     65 ```
     66 
     67 ### Void Linux
     68 
     69 ```sh
     70 xbps-install alacritty
     71 ```
     72 
     73 ### Gentoo Linux
     74 
     75 ```sh
     76 emerge x11-terms/alacritty
     77 ```
     78 
     79 ### Mageia 7+
     80 
     81 ```sh
     82 urpmi alacritty
     83 ```
     84 
     85 ### FreeBSD
     86 
     87 ```sh
     88 pkg install alacritty
     89 ```
     90 
     91 ### NixOS
     92 
     93 ```sh
     94 nix-env -iA nixos.alacritty
     95 ```
     96 
     97 ### Solus
     98 
     99 ```sh
    100 eopkg install alacritty
    101 ```
    102 
    103 ### Fedora
    104 
    105 Unofficial builds of stable tags can be found in Fedora Copr:
    106 [pschyska/alacritty](https://copr.fedorainfracloud.org/coprs/pschyska/alacritty/).
    107 
    108 ``` sh
    109 dnf copr enable pschyska/alacritty
    110 dnf install alacritty
    111 ```
    112 
    113 If you want to help test pre-releases, you can additionally enable
    114 [pschyska/alacritty-testing](https://copr.fedorainfracloud.org/coprs/pschyska/alacritty-testing/).
    115 
    116 ### macOS
    117 
    118 ```sh
    119 brew cask install alacritty
    120 ```
    121 
    122 Once the cask is installed, it is recommended to setup the [manual page](INSTALL.md#manual-page),
    123 [shell completions](INSTALL.md#shell-completions), and [terminfo definitions](INSTALL.md#terminfo).
    124 
    125 ### Windows
    126 
    127 #### Via [Chocolatey](https://chocolatey.org)
    128 
    129 ```batch
    130 choco install alacritty
    131 ```
    132 
    133 #### Via [Scoop](https://scoop.sh)
    134 
    135 ```batch
    136 scoop bucket add extras
    137 scoop install alacritty
    138 ```
    139 
    140 ### Other
    141 
    142 Prebuilt binaries for Linux, macOS, and Windows can be downloaded from the
    143 [GitHub releases page](https://github.com/jwilm/alacritty/releases).
    144 
    145 To work properly on Windows, Alacritty requires winpty to emulate UNIX's PTY
    146 API. The agent is a single binary (`winpty-agent.exe`) which **must** be in
    147 the same directory as the Alacritty executable and is available through the
    148 [GitHub releases page](https://github.com/jwilm/alacritty/releases).
    149 
    150 On Windows, Alacritty also requires Microsoft's VC++ redistributable to work
    151 properly.
    152 
    153 ## Configuration
    154 
    155 Although it's possible the default configuration would work on your system,
    156 you'll probably end up wanting to customize it anyhow. There is a default
    157 `alacritty.yml` at the Git repository root. Alacritty looks for the
    158 configuration file at the following paths:
    159 
    160 1. `$XDG_CONFIG_HOME/alacritty/alacritty.yml`
    161 2. `$XDG_CONFIG_HOME/alacritty.yml`
    162 3. `$HOME/.config/alacritty/alacritty.yml`
    163 4. `$HOME/.alacritty.yml`
    164 
    165 If none of these paths are found then
    166 `$XDG_CONFIG_HOME/alacritty/alacritty.yml` is created once Alacritty is first
    167 run. On most systems this often defaults to
    168 `$HOME/.config/alacritty/alacritty.yml`.
    169 
    170 Many configuration options will take effect immediately upon saving changes to
    171 the config file. For more information about the config file structure, refer to
    172 the default config file.
    173 
    174 ### Windows
    175 
    176 On Windows the config file is located at:
    177 
    178 `%APPDATA%\alacritty\alacritty.yml`
    179 
    180 ## Contributing
    181 
    182 A full guideline about contributing to Alacritty can be found in the
    183 [`CONTRIBUTING.md`](CONTRIBUTING.md) file.
    184 
    185 ## Issues (known, unknown, feature requests, etc.)
    186 
    187 If you run into a problem with Alacritty, please file an issue. If you've got a
    188 feature request, feel free to ask about it. Please just keep in mind Alacritty
    189 is focused on simplicity and performance, and not all features are in line with
    190 that goal.
    191 
    192 Before opening a new issue, please check if it has already been reported.
    193 There's a chance someone else has already reported it, and you can subscribe to
    194 that issue to keep up on the latest developments.
    195 
    196 ## FAQ
    197 
    198 **_Is it really the fastest terminal emulator?_**
    199 
    200 In the terminals we've [benchmarked](http://github.com/jwilm/vtebench),
    201 Alacritty is either faster or **way** faster than the others. If you've found a
    202 case where this isn't true, please report a bug.
    203 
    204 **_Why isn't feature X implemented?_**
    205 
    206 Alacritty has many great features, but not every feature from every other
    207 terminal. This could be for a number of reasons, but sometimes it's just not a
    208 good fit for Alacritty. This means you won't find things like tabs or splits
    209 (which are best left to a window manager or [terminal multiplexer][tmux]) nor
    210 niceties like a GUI config editor.
    211 
    212 **_macOS + tmux + vim is slow! I thought this was supposed to be fast!_**
    213 
    214 This appears to be an issue outside of terminal emulators; either macOS has an
    215 IPC performance issue, or either tmux or vim (or both) have a bug. This same
    216 issue can be seen in `iTerm2` and `Terminal.app`. I've found that if tmux is
    217 running on another machine which is connected to Alacritty via SSH, this issue
    218 disappears. Actual throughput and rendering performance are still better in
    219 Alacritty.
    220 
    221 **_My arrow keys don't work._**
    222 
    223 It sounds like you deleted some key bindings from your config file. Please
    224 reference the default config file to restore them.
    225 
    226 ## IRC
    227 
    228 Alacritty discussion can be found in `#alacritty` on freenode.
    229 
    230 ## Wayland
    231 
    232 Wayland is used by default on systems that support it. Using XWayland may
    233 circumvent Wayland specific issues and can be enabled through:
    234 
    235 ```sh
    236 env WINIT_UNIX_BACKEND=x11 alacritty
    237 ```
    238 
    239 ## License
    240 
    241 Alacritty is released under the [Apache License, Version 2.0].
    242 
    243 [Apache License, Version 2.0]: https://github.com/jwilm/alacritty/blob/master/LICENSE-APACHE
    244 [faq]: https://github.com/jwilm/alacritty#faq
    245 [tmux]: https://github.com/tmux/tmux
    246 [Wayland meta issue]: https://github.com/tomaka/winit/issues/306