Ghostty is a cross-platform terminal emulator that uses platform-native UI and GPU acceleration.
Ghostty functions smoothly across different operating systems, ensuring a consistent experience regardless of the platform it's used on.
The terminal emulator provides a user interface that blends seamlessly with the native look and feel of each operating system, enhancing user experience.
By leveraging GPU acceleration, Ghostty delivers faster rendering and performance, making it efficient for heavy terminal usage.
Ghostty supports flexible, custom keybindings through the keybind configuration option.
Ghostty ships with hundreds of built-in themes, supporting different themes for light and dark mode, and more.
Ghostty supports hundreds of configuration options to make it look and behave exactly how you want.
For terminal application developers, Ghostty provides a reference on terminal concepts and supported control sequences.
Provides a universal binary compatible with both Apple Silicon and Intel machines, requiring macOS 13+ (Ventura or later).
Offers the option to install Ghostty via a package manager for both macOS and Linux, ensuring easy updates and management.
Allows users to build Ghostty from source on Linux for complete control over installation and customization.
Ghostty is designed to look, feel, and behave like expected applications in your desktop environment. It uses native UI components for macOS and Linux, adapting to platform-specific conventions.
Offers a wide range of features for terminal use, including support for Kitty graphics, splits, dropdown terminals, and more. It aims to integrate with system capabilities across macOS and Linux.
Ghostty is designed to be fast with a focus on startup time, scrolling speed, interaction throughput, and command sequence throughput.
A cross-platform library that serves as the core for Ghostty's terminal emulation. This allows different terminal projects to share a core code, optimizing the feature set without redundant coding.
Ghostty is designed to work out of the box without the need for extensive configuration. It operates with sensible defaults to automatically extract necessary configurations, allowing most users to use it without adjustments.
Ghostty uses a text-based configuration file, currently the only method for configuration. Future updates may include a native UI utilizing CUEs.
The configuration file, `config.js`, can be loaded from specific platform-dependent locations such as `$XDG_CONFIG_HOME/.ghostty/config` for XDG platforms or `$HOME/Library/Application Support/com.mitchellh.ghostty/config.js` for macOS.
Ghostty employs a simple 'key = value' syntax with comments allowed using '#'. Keys are case-sensitive, and values can span spaces. Every configuration key can be modified through the command-line interface.
Configurations can be split across multiple files using the 'config-file' key in 'config.js'. It supports hierarchal loading, allowing specific conditions per environment or platform.
Configuration reloads at runtime by pressing defined hotkeys. Users may define custom reload actions if needed.
Multiple formats of documentation are available offline as part of the Ghostty installation. It provides access to CLI features and supports using default configurations showcased in various examples.
Provides detailed instructions for building the Ghostty application from source. Suitable for developers and users with specific build configurations.
Offers instructions and tips for installing Ghostty on various Linux distributions like Arch, Debian, Fedora, and Solus, including package dependencies.
Provides steps to install and build Ghostty on MacOS using the Xcode command tool, ensuring compatibility and proper setup.
Supports flexible, custom keybindings through a configuration option allowing the association of specific keys with actions.
Allows specifying a Unicode keycode for triggers, which is particularly useful for non-US keyboard layouts.
Enables use of modifiers such as shift, ctrl, alt, and super in keybindings.
Allows modifying behavior of keybindings with prefixes like alt and global, which determines if keybindings apply globally or to specific terminal surfaces.
Ensures that a keybinding does not consume the input, allowing the action to simply occur without interfering with the input stream.
Notes that global keybindings are supported on macOS, requiring accessibility permissions to function efficiently.
Translates triggered actions into specific outputs, such as a string, CSI sequence, or escape sequence.