Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16,656 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ghostty² icon
Ghostty²

Ghostty's speed and native UI with the drop-down workflow and tab ergonomics of iTerm2.
Download · Features · Install · Platform support

Ghostty² CI

Ghostty² (ghostty2) is an independent Ghostty fork for people who live in a Quake-style terminal. It keeps Ghostty's fast Zig core, native SwiftUI/GTK interfaces, Metal/OpenGL rendering, splits, and libghostty, then makes the hotkey terminal a first-class, tabbed workspace.

Features

  • Global Quake terminal: press Control+` to show or hide the same drop-down terminal from anywhere. The shortcut is enabled by default and can be changed with normal Ghostty keybind configuration.
  • Tabs inside the quick terminal: Command+T on macOS or Control+Shift+T on Linux creates another live terminal without leaving the drop-down window.
  • Real multi-session behavior: each tab keeps its own process and split tree while the quick terminal is hidden; tab switching, closing, moving, restoration, and close confirmation use the native platform UI.
  • Ghostty compatibility: Ghostty² uses its own configuration directory while keeping Ghostty's configuration syntax, TERM=xterm-ghostty, and internal libghostty/protocol identifiers.

The result is deliberately small in scope: if iTerm2 and Ghostty had a child, this is the part of the family resemblance we wanted most.

Install

Install the latest binary release:

curl -fsSL https://raw.githubusercontent.com/pihalf/ghostty2/main/install.sh | sh

On macOS a new installation places the universal Ghostty2.app in ~/Applications; upgrades preserve an existing copy in either ~/Applications or /Applications. On Linux the installer installs the Flatpak bundle for the current CPU architecture. Linux requires Flatpak and a configured Flathub remote. On first setup, the installer can copy an existing Ghostty configuration into Ghostty²; declining leaves the original untouched and starts Ghostty² with a clean configuration.

Ghostty² reads its macOS configuration from ~/Library/Application Support/io.github.pihalf.ghostty2/config.ghostty and its Linux configuration from the ghostty2/config.ghostty path under the platform's XDG configuration directory. Importing copies settings into that namespace; it never links to or modifies the original Ghostty configuration.

You can also download the macOS ZIP or Linux Flatpak directly from Releases.

Nix users can install the package from source with:

nix profile install github:pihalf/ghostty2#ghostty2

Build from source

Ghostty² uses Ghostty's build system and Zig 0.15.2:

git clone https://github.com/pihalf/ghostty2.git
cd ghostty2
zig build -Doptimize=ReleaseFast

The result is zig-out/bin/ghostty2 on Linux and zig-out/Ghostty2.app on macOS. Linux needs the GTK/libadwaita/layer-shell development packages; macOS needs full Xcode with the macOS, iOS, and Metal components. The Nix development shell provides the remaining build dependencies.

Platform support

Platform App Quake terminal Global shortcut Quick-terminal tabs
macOS 13+ Native SwiftUI/Metal Yes Native global key monitor Command+T
Linux Wayland Native GTK/OpenGL On supported compositors XDG GlobalShortcuts portal or compositor binding Control+Shift+T
Linux X11 Native GTK/OpenGL Not currently supported Compositor/window-manager binding only Normal window tabs work

On Linux, the drop-down placement requires a compositor with the layer-shell protocol. KDE Plasma Wayland and wlroots-based compositors are the intended targets. GNOME's compositor and X11 do not provide the required layer-shell behavior. If your desktop does not expose the global-shortcut portal, bind this command in the compositor instead:

ghostty2 +toggle-quick-terminal

For the Flatpak build, use flatpak run io.github.pihalf.ghostty2 +toggle-quick-terminal.

Crash reports and updates

Ghostty² does not include a crash-capture SDK or bundled updater. “Check for Updates…” opens this fork's Releases page on demand. The retained auto-update configuration names are inert compatibility keys so existing Ghostty configurations continue to parse.

Development

zig build test
zig fmt --check .

The public CI additionally runs the Swift/macOS test suite, Linux core tests, GTK Wayland and X11 builds, dependency/icon checks, and distributable macOS and Flatpak builds.

See HACKING.md for the upstream development environment and architecture notes.

Credits and license

Ghostty² is based on Ghostty and remains MIT licensed; the original Ghostty authors and contributors did the overwhelming majority of the work. The interaction model is inspired by iTerm2, but no iTerm2 source code is incorporated. Ghostty² is not affiliated with either project.

See LICENSE for license terms.

About

Ghostty² — Ghostty with a global Quake terminal and quick-terminal tabs.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages