Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 23 additions & 27 deletions docs/ghostty-fork.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ When we change the fork, update this document and the parent submodule SHA.

## Current fork changes

Fork rebased onto upstream `v1.3.0` plus newer `main` commits as of March 12, 2026.
Fork rebased onto upstream `main` at `a2b2b883e` as of March 15, 2026.

### 1) OSC 99 (kitty) notification parser

- Commit: `a2252e7a9` (Add OSC 99 notification parser)
- Commit: `7a8fcb0b7` (Add OSC 99 notification parser)
- Files:
- `src/terminal/osc.zig`
- `src/terminal/osc/parsers.zig`
Expand All @@ -26,7 +26,7 @@ Fork rebased onto upstream `v1.3.0` plus newer `main` commits as of March 12, 20

### 2) macOS display link restart on display changes

- Commit: `c07e6c5a5` (macos: restart display link after display ID change)
- Commit: `3d4450b54` (macos: restart display link after display ID change)
- Files:
- `src/renderer/generic.zig`
- Summary:
Expand All @@ -35,7 +35,7 @@ Fork rebased onto upstream `v1.3.0` plus newer `main` commits as of March 12, 20

### 3) Keyboard copy mode selection C API

- Commit: `a50579bd5` (Add C API for keyboard copy mode selection)
- Commit: `3ee622a8a` (Add C API for keyboard copy mode selection)
- Files:
- `src/Surface.zig`
- `src/apprt/embedded.zig`
Expand All @@ -50,8 +50,8 @@ applied earlier than the section 3 copy-mode commit, but they are kept together
touch the same stale-frame mitigation path and tend to conflict in the same files during rebases.

- Commits:
- `769bbf7a9` (macos: reduce transient blank/scaled frames during resize)
- `9efcdfdf8` (macos: keep top-left gravity for stale-frame replay)
- `b97871f60` (macos: reduce transient blank/scaled frames during resize)
- `c27d59178` (macos: keep top-left gravity for stale-frame replay)
- Files:
- `pkg/macos/animation.zig`
- `src/Surface.zig`
Expand All @@ -63,34 +63,27 @@ touch the same stale-frame mitigation path and tend to conflict in the same file
- Replays the last rendered frame during resize and keeps its geometry anchored correctly.
- Reduces transient blank or scaled frames while a macOS window is being resized.

### 5) zsh prompt redraw markers use OSC 133 P
### 5) zsh Pure-style prompt redraw markers

- Commit: `8ade43ce5` (zsh: use OSC 133 P for prompt redraws)
- Files:
- `src/shell-integration/zsh/ghostty-integration`
- Summary:
- Emits one `OSC 133;A` fresh-prompt mark for real prompt transitions.
- Uses `OSC 133;P` markers for prompt redraws so async zsh themes do not look like extra prompt lines.

### 6) zsh Pure-style multiline prompt redraws

- Commits:
- `0cf559581` (zsh: fix Pure-style multiline prompt redraws)
- `312c7b23a` (zsh: avoid extra Pure continuation markers)
- `404a3f175` (Fix Pure prompt redraw markers)
- Commit: `15b92f134` (Fix Pure prompt redraw markers)
- Files:
- `src/shell-integration/zsh/ghostty-integration`
- Summary:
- Emits one `OSC 133;A` fresh-prompt mark for real prompt transitions and uses `OSC 133;P` markers for redraws.
- Handles multiline prompts that use `\n%{\r%}` to return to column 0 before the visible prompt line.
- Keeps redraw-safe prompt-start markers for async themes.
- Avoids inserting an explicit continuation marker after Pure's hidden carriage return, because Ghostty already tracks the newline as prompt continuation and the extra marker duplicates the preprompt row.
- Restores that prompt-marker behavior on top of the current Ghostty `main` base after the older redraw fix drifted out during later submodule updates.
- Keeps the current upstream prompt-preservation flow intact while restoring the Pure-specific redraw behavior cmux needs.

The fork branch HEAD is now the section 6 zsh redraw follow-up commit.
### 6) cmux theme picker helper hooks

### 7) cmux theme picker helper hooks

- Commit: `0c52c987b` (Add cmux theme picker helper hooks)
- Commits:
- `ddf0e2746` (Add cmux theme picker helper hooks)
- `a0929c1e9` (Fix cmux theme picker preview writes)
- `6c5aea40e` (Improve cmux theme picker footer contrast)
- `a35a4f698` (Respect system theme in cmux picker)
- `a0fdcc911` (Skip theme detection in cmux picker)
- `a0dfa8c23` (Match Ghostty theme picker startup)
- `3cc60d5e3` (Harden cmux theme override writes)
- Files:
- `build.zig`
- `src/cli/list_themes.zig`
Expand All @@ -99,8 +92,9 @@ The fork branch HEAD is now the section 6 zsh redraw follow-up commit.
- Adds a `zig build cli-helper` step so cmux can bundle Ghostty's CLI helper binary on macOS.
- Lets `+list-themes` switch into a cmux-managed mode via env vars, writing the cmux theme override file and posting the existing cmux reload notification for live app-wide preview.
- Fixes the helper-only `app-runtime=none` stdout path so the Ghostty CLI binary builds with the current Zig toolchain.
- Aligns preview startup, system-theme handling, footer contrast, and override-file writes with the current upstream picker UI.

The fork branch HEAD is now the section 7 cmux theme picker helper commit.
The fork branch HEAD is now the section 6 theme-picker hardening commit.

## Upstreamed fork changes

Expand All @@ -124,6 +118,8 @@ These files change frequently upstream; be careful when rebasing the fork:
- Prompt marker handling is easy to regress when upstream adjusts zsh redraw behavior. Keep the
`OSC 133;A` vs `OSC 133;P` split intact for redraw-heavy themes. Pure-style `\n%{\r%}`
prompt newlines should not get an extra explicit continuation marker after the hidden CR.
- Current upstream also preserves a clean prompt around async redraws, so keep that behavior while
applying the Pure-specific newline guard.

- `src/cli/list_themes.zig`
- cmux now relies on the upstream picker UI plus local env-driven hooks for live preview and restore.
Expand Down
2 changes: 1 addition & 1 deletion ghostty
Submodule ghostty updated 170 files
1 change: 1 addition & 0 deletions scripts/ghosttykit-checksums.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ a50579bd5ddec81c6244b9b349d4bf781f667cec f7e9c0597468a263d6b75eaf815ccecd90c7933
312c7b23a7c8dc0704431940d76ba5dc32a46afb ae73cb18a9d6efec42126a1d99e0e9d12022403d7dc301dfa21ed9f7c89c9e30
404a3f175ba6baafabc46cac807194883e040980 bcbd2954f4746fe5bcb4bfca6efeddd3ea355fda2836371f4c7150271c58acbd
bc9be90a21997a4e5f06bf15ae2ec0f937c2dc42 6b83b66768e8bba871a3753ae8ffbaabd03370b306c429cd86c9cdcc8db82589
3cc60d5e399d9f2985f64155f451808afd876a4c f15a93f930418fd76d8ffa7fb9aebb1c1a4b70cc8b8db535b5b3a36feda2f22a
Loading