Skip to content

Comments

feat: replace @xterm/xterm with ghostty-web#22215

Draft
jakehwll wants to merge 6 commits intomainfrom
jakehwll/ghostty-web
Draft

feat: replace @xterm/xterm with ghostty-web#22215
jakehwll wants to merge 6 commits intomainfrom
jakehwll/ghostty-web

Conversation

@jakehwll
Copy link
Contributor

@jakehwll jakehwll commented Feb 20, 2026

Replace @xterm/xterm with ghostty-web for the web terminal.

  • Swap @xterm/* (6 packages) for ghostty-web — WASM-compiled terminal powered by Ghostty
  • Remove web_terminal_renderer deployment config (single canvas backend, no choice needed)
  • Replace Emotion css props with Tailwind classes
  • Use FitAddon.observeResize() instead of manual window resize listener
  • Update Jest mock, unit tests, e2e tests, Storybook, and docs

@jakehwll jakehwll added the experimental Changes that might not necessarily be merged, until its approved to proceed with. label Feb 20, 2026
Comment on lines +131 to +133
const fitAddon = new FitAddon();
fitAddonRef.current = fitAddon;
terminal.loadAddon(fitAddon);
Copy link
Contributor Author

@jakehwll jakehwll Feb 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something funky is going on upstream in ghostty-web. The sidebars have this really weird larger scrollbar padding. It looks like we're missing a column for some odd reason... might just be my eyes tho

xterm.js ghostty-web
Image Image

(The colors are noway exaggerated btw)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

experimental Changes that might not necessarily be merged, until its approved to proceed with.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant