app like that
Ghostty
Ghostty

Ghostty is a cross-platform terminal emulator that uses platform-native UI and GPU acceleration.

Features

Cross-Platform Compatibility

Ghostty functions smoothly across different operating systems, ensuring a consistent experience regardless of the platform it's used on.

Platform-Native UI

The terminal emulator provides a user interface that blends seamlessly with the native look and feel of each operating system, enhancing user experience.

GPU Acceleration

By leveraging GPU acceleration, Ghostty delivers faster rendering and performance, making it efficient for heavy terminal usage.

Keybindings

Ghostty supports flexible, custom keybindings through the keybind configuration option.

Color Theme

Ghostty ships with hundreds of built-in themes, supporting different themes for light and dark mode, and more.

Configuration

Ghostty supports hundreds of configuration options to make it look and behave exactly how you want.

Terminal API (VT)

For terminal application developers, Ghostty provides a reference on terminal concepts and supported control sequences.

Universal Binary for macOS

Provides a universal binary compatible with both Apple Silicon and Intel machines, requiring macOS 13+ (Ventura or later).

Package Manager Installation

Offers the option to install Ghostty via a package manager for both macOS and Linux, ensuring easy updates and management.

Build From Source for Linux

Allows users to build Ghostty from source on Linux for complete control over installation and customization.

Native Experience

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.

Feature-rich

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.

Fast Performance

Ghostty is designed to be fast with a focus on startup time, scrolling speed, interaction throughput, and command sequence throughput.

libghostty

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.

Zero Configuration Philosophy

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.

Configuration Format

Ghostty uses a text-based configuration file, currently the only method for configuration. Future updates may include a native UI utilizing CUEs.

File Location

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.

Syntax

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.

Splitting into Multiple Files

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.

Reloading the Configuration

Configuration reloads at runtime by pressing defined hotkeys. Users may define custom reload actions if needed.

Offline Reference Documentation

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.

Building from Source

Provides detailed instructions for building the Ghostty application from source. Suitable for developers and users with specific build configurations.

Linux Installation

Offers instructions and tips for installing Ghostty on various Linux distributions like Arch, Debian, Fedora, and Solus, including package dependencies.

Mac Installation

Provides steps to install and build Ghostty on MacOS using the Xcode command tool, ensuring compatibility and proper setup.

Custom Keybindings

Supports flexible, custom keybindings through a configuration option allowing the association of specific keys with actions.

Unicode Keycode Specification

Allows specifying a Unicode keycode for triggers, which is particularly useful for non-US keyboard layouts.

Modifiers

Enables use of modifiers such as shift, ctrl, alt, and super in keybindings.

Trigger Prefixes

Allows modifying behavior of keybindings with prefixes like alt and global, which determines if keybindings apply globally or to specific terminal surfaces.

Unconsumed Prefix

Ensures that a keybinding does not consume the input, allowing the action to simply occur without interfering with the input stream.

Support for macOS Global Keybindings

Notes that global keybindings are supported on macOS, requiring accessibility permissions to function efficiently.

Action Encoding

Translates triggered actions into specific outputs, such as a string, CSI sequence, or escape sequence.