Skip to content

fix(ghostty): migrate deprecated config keys for Ghostty 1.3 - #203

Open
KapsCa wants to merge 1 commit into
Gentleman-Programming:mainfrom
KapsCa:fix/ghostty-1.3-deprecated-keys
Open

KapsCa wants to merge 1 commit into
Gentleman-Programming:mainfrom
KapsCa:fix/ghostty-1.3-deprecated-keys

Conversation

@KapsCa

@KapsCa KapsCa commented Sep 12, 2026

Copy link
Copy Markdown

Why

Ghostty 1.3 renamed one key and dropped one value used by GentlemanGhostty/config. Users on 1.3+ get two deprecation notices from the compatibility handler on every startup:

info(cli): compatibility handler for background-blur-radius handled error, you may be using a deprecated field: error.InvalidField
info(cli): compatibility handler for gtk-tabs-location handled error, you may be using a deprecated field: error.InvalidValue

Deprecated compatibility keys are removed eventually, so this is a forward-compatibility cleanup rather than a cosmetic one.

What changed

Before After Notes
background-blur-radius = 20 background-blur = 20 Renamed in Ghostty 1.3. Same value, same meaning.
gtk-tabs-location = hidden window-show-tab-bar = never Ghostty 1.3 no longer accepts hidden for gtk-tabs-location (it only selects top/bottom); hiding the tab bar moved to window-show-tab-bar (Linux/GTK).

Both are documented in ghostty +show-config --docs for 1.3.1. No other key, comment block, or file in the repo references the old names.

Evidence

Verified against the real binary, ghostty 1.3.1-0~ppa2 (the version the installer pulls for Ubuntu via mkasberg/ghostty-ubuntu):

Check Before After
Startup log 2 × compatibility handler ... deprecated field none
ghostty +validate-config exit 0 exit 0
ghostty +show-config (effective) background-blur = 20, window-show-tab-bar = never background-blur = 20, window-show-tab-bar = never

The effective configuration is byte-for-byte identical before and after: Ghostty's compatibility handler already translated both keys, so this PR changes no runtime behavior. It only stops relying on the deprecated path.

Command used for the startup-log check (config isolated through XDG_CONFIG_HOME, 5s timeout, GUI runs under WSLg):

timeout 5 ghostty --config-file=<config> 2>&1 | grep "compatibility handler"

Compatibility note

The resulting config targets Ghostty 1.3+. Ghostty 1.2 does not know background-blur or window-show-tab-bar, and this repo's installer already ships 1.3.x on both macOS (brew cask) and Debian/Ubuntu.

Ghostty 1.3 renamed `background-blur-radius` to `background-blur` and removed
the `hidden` value of `gtk-tabs-location`. The 1.3.1 binary reports both on
every startup through its compatibility handler:

  info(cli): compatibility handler for background-blur-radius handled error, you may be using a deprecated field: error.InvalidField
  info(cli): compatibility handler for gtk-tabs-location handled error, you may be using a deprecated field: error.InvalidValue

Both keys are replaced by their current equivalents. The effective values are
unchanged (`background-blur = 20`, `window-show-tab-bar = never`), so this only
removes the deprecated compatibility path before it becomes a hard break.

Verified with Ghostty 1.3.1: `ghostty +validate-config` exits 0, the startup
log no longer mentions the compatibility handler, and `+show-config` reports
the same effective values as before.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant