Alacritty is a fast, cross-platform, GPU-accelerated terminal emulator written in Rust. It uses OpenGL/GLES for rendering, providing low-latency text display with support for modern terminal features like true color, ligatures, hyperlinks, and a vi-like cursor mode. The architecture is split into multiple crates: `alacritty` (binary with event loop, window management, and rendering), `alacritty_terminal` (reusable library for terminal emulation including grid, cell model, PTY abstraction, and escape sequence parsing), `alacritty_config` (configuration loading and merging), and `alacritty_config_derive` (proc-macro for failure-resistant config deserialization). The terminal core is decoupled from the GUI, making it embeddable in other projects. Configuration is TOML-based with support for imports, live reload, and CLI overrides. The project includes an IPC mechanism for runtime window creation and config updates, and a comprehensive regression test suite using recorded terminal sessions and serialized grid snapshots.
Guake is a drop-down terminal emulator for the GNOME desktop environment, inspired by the Quake game terminal. It provides a fast, keyboard-driven terminal that slides down from the top of the screen with a single keystroke (default F12). The application is built with Python 3, GTK3, and VTE (Virtual Terminal Emulator), and uses GSettings for configuration, D-Bus for remote control, and Glade for UI layout. It supports tabs, split terminals, customizable color palettes, background images, transparency, session save/restore, workspace-aware tab sets, and extensive keyboard shortcuts. The architecture is modular, with separate modules for preferences, keybindings, terminal management, and utilities, though some files (e.g., guake_app.py, prefs.py) are large and tightly coupled. The codebase shows signs of technical debt such as deprecated GTK APIs, Python 2 compatibility remnants, and partial Wayland support, but remains actively maintained with a comprehensive CI pipeline and regular releases.