tools/ghostty-quick-terminal-dark-mode.md
Table of Contents
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.