tools/ghostty-quick-terminal-dark-mode.md

Ghostty quick terminal renders light while normal windows are dark

Goal: the drop-down quick terminal (bound to global:cmd+grave_accent) should be dark like normal Ghostty windows.

Symptom

Normal Ghostty windows were dark (Catppuccin Mocha), but the quick terminal dropping from the top of the screen rendered light (Catppuccin Latte) — from the same config file.

Root cause

Ghostty has no quick-terminal-specific theme option. The full quick-terminal option set is only: quick-terminal-position, -screen, -autohide, -animation-duration, -space-behavior, -keyboard-interactivity. So the panel inherits the global theme.

The config used an appearance-paired theme:

theme = dark:Catppuccin Mocha,light:Catppuccin Latte

The quick-terminal surface doesn't resolve the macOS appearance, so the pair fell back to the light variant. Confirmed by dumping the resolved config while macOS was in Dark mode:

ghostty +show-config | rg -i 'theme|background'
# background = #eff1f5      <- Catppuccin Latte base
# defaults read -g AppleInterfaceStyle -> Dark

What did NOT work

window-theme = dark

ghostty +show-config | rg window-theme
# window-theme = system     <- 'auto' resolves to this

window-theme governs the window chrome/titlebar, not the terminal background. Setting it to dark did not change the panel colors. Don't retry this first.

What worked

Pin the theme to a single dark theme, so no appearance detection is involved:

theme = Catppuccin Mocha

Resolved config then reports:

theme = Catppuccin Mocha
background = #1e1e2e
foreground = #cdd6f4

Tradeoff

Pinning loses automatic light/dark switching for all windows. The pair can be restored if this ever gets fixed upstream:

theme = dark:Catppuccin Mocha,light:Catppuccin Latte

Config location

~/.config/ghostty/config is a symlink to ~/tilde/home/ghostty/config (dotfiles repo) — edit the repo file, not the symlink path. Reload with cmd+shift+,.

Confirmed on Ghostty 1.3.1. Unverified whether newer releases fix the panel's appearance resolution.