Since <2024-12-28 Sat> I'm using Ghostty terminal emulator.
What is Ghostty
It's a new terminal emulator designed for modern systems. Written in Zig by Mitchel Hashimoto, a guy known for Hashicorp and tools like Terraform, Consul and Vagrant.
Key points about Ghostty:
- Cross-platform: Works on macOS, Linux, and Windows
 - GPU-accelerated: Offers smooth rendering and performance
 - Lightweight: Aims to be fast and efficient
 - Customizable: Supports themes and configuration options
 - Modern features: Includes ligature support, true color, and more
 
Ghostty is gaining popularity among developers and power users for its speed and modern feature set. It's still in active development, so new features and improvements are regularly added.
My configuration
I keep Ghostty configuration here and tangle into ~/.config/ghostty/config file with {C-c C-v C-t} or {SPC c v t}.
font-family = "PragmataPro Mono" font-size = 20 #font-style = bold #font-feature = -calt #font-feature = -liga #font-feature = -sups font-feature = -dlig #font-feature = ss08 font-thicken = true keybind = ctrl+m=text:\n #keybind = global:cmd+grave_accent=toggle_quick_terminal # disable-csi-u-key-encoding = true macos-option-as-alt = left alpha-blending = native minimum-contrast = 15 cursor-style = block shell-integration-features = no-cursor cursor-click-to-move = true window-padding-x = 5 # ~100 MB scrollback-limit = 100000000
Quick terminal
toggle_quick_terminal binding toggles the "quick" terminal. The quick terminal is a terminal that appears on demand from a keybinding, often sliding in from a screen edge such as the top. This is useful for quick access to a terminal without having to open a new window or tab.
When the quick terminal loses focus, it disappears. The terminal state is preserved between appearances, so you can always press the keybinding to bring it back up.
To enable the quick terminal globally so that Ghostty doesn't have to be focused, prefix your keybind with global. Example:
keybind = global:cmd+grave_accent=toggle_quick_terminal
The quick terminal has some limitations:
- It is a singleton; only one instance can exist at a time.
 - It does not support tabs, but it does support splits.
 - It will not be restored when the application is restarted (for systems that support window restoration).
 - It supports fullscreen, but fullscreen will always be a non-native fullscreen (macos-non-native-fullscreen = true). This only applies to the quick terminal window. This is a requirement due to how the quick terminal is rendered.
 
See the various configurations for the quick terminal in the configuration file to customize its behavior. This currently only works on macOS.