alacritty/alacritty
A cross-platform, OpenGL terminal emulator.
How alacritty is put together
Alacritty is a GPU-accelerated, cross-platform (Linux/BSD/macOS/Windows) terminal emulator written in Rust, organized as a Cargo workspace of four crates: the main `alacritty` binary (windowing, rendering, input, config), `alacritty_terminal` (PTY handling, grid/term state machine, VTE parsing), and two config-support crates (`alacritty_config`, `alacritty_config_derive`). Data flows from a PTY child process through an event loop into the terminal grid model, which is rendered via OpenGL shaders (GLSL ES 2.0/GLSL 3) using winit/glutin for windowing and crossfont for glyph rasterization. Configuration is TOML-based with live file watching (notify) and hot-reload via custom SerdeReplace deserialization; on Unix an IPC socket (`alacritty msg`) allows external processes to send commands to running instances.
Languages
Frameworks
Infrastructure
Major components
alacritty_terminal
Core terminal emulation: PTY abstraction (unix openpty and Windows ConPTY), VTE escape-sequence parsing, grid/cell storage, search, selection, and vi-mode.
renderer
OpenGL rendering pipeline including glyph atlas/cache, rect rendering, shader management, and GLES2/GLSL3 backends.
display
Window management, damage tracking, color management, cursor rendering, hints, bell visuals, and frame presentation.
input
Keyboard and mouse event processing, binding resolution, and translation of user input into terminal actions or text.
config
TOML configuration loading, typed UI config structures (bell, bindings, colors, font, mouse, scrolling, terminal, window), and file-change monitoring for live reload.
event
Central event processor tying winit events, PTY I/O, IPC messages, scheduler timers, and config updates to terminal/display state.
polling/ipc
Unix-only background thread listening on signals and a local IPC socket that receives `alacritty msg` commands (e.g., create window) from other processes.
alacritty_config / alacritty_config_derive
Failure-tolerant config deserialization abstractions and proc-macro derives (ConfigDeserialize, SerdeReplace) enabling partial config patching.
A single small fix corrected an off-by-one error in the ParagraphUp keybinding.
The last few weeks on the Alacritty repository were quiet, with just one small fix landing each week. Work focused on polishing documentation and correcting a keyboard binding edge case rather than shipping new features.
Week by week
2026-08-17A single small fix corrected an off-by-one error in the ParagraphUp keybinding.latest1 change
Fix
Fixed off-by-one in ParagraphUp binding
The keyboard shortcut for jumping up one paragraph now moves the cursor to the correct position instead of being off by one line.
2026-08-03The only change this week was a documentation correction.1 change
Docs
Fixed link to escape sequence documentation
A broken link pointing to the escape sequence documentation was repaired so readers can find the reference material.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required