Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 1.9 KB

File metadata and controls

49 lines (34 loc) · 1.9 KB

Ghostty 源码拆解

一套参考 refs/dg-ai-notes 写法的 Ghostty 中文源码阅读笔记:每章同时回答“是什么、怎么做、为什么这样做”,沿着一次终端输出的真实链路,把 Zig 核心、macOS Swift 宿主、GTK 运行时、GPU 渲染和 libghostty 接口串起来。

在线阅读:https://hanqing.github.io/ghostty-source-notes/

内容范围

  • 进程入口、全局初始化、CLI action 与应用运行时选择
  • App / Surface 的对象边界,以及 xev、mailbox、线程生命周期
  • 配置文件、条件配置、keybind/action 与热更新
  • PTY、子进程、终端输入输出和错误展示
  • VT parser、UTF-8、OSC/CSI/DCS/APC、Kitty 协议
  • ScreenPage、scrollback、alternate screen、压缩和搜索
  • 字体发现、OpenType、HarfBuzz/CoreText、atlas 与 glyph cache
  • renderer 的通用抽象、Metal/OpenGL/WebGL 后端和 shader 管线
  • macOS SwiftUI / AppKit、GTK、嵌入式运行时和 C ABI
  • libghostty-vt、构建图、WASM、测试、基准和发布边界

本地运行

npm install
npm run dev

生产构建:

npm run build
npm run types:check
npm start

研究基线

  • 分析对象:工作区中的 ghostty-main 源码快照
  • 分析日期:2026-08-02
  • 快照没有 .git 元数据,正文不虚构提交 SHA;路径和符号以这份快照为准
  • 本仓库只包含原创分析文档和 Fumadocs 站点代码,不复制 Ghostty 源码

Ghostty 是 Ghostty 项目的商标和版权资产;上游源码许可证请以 ghostty-main/LICENSE 与上游仓库为准。本笔记的原创文字采用 CC BY-SA 4.0,站点配置代码采用 MIT。

章节路线

00 → 01 → 02 → 03 → 04 → 05 → 06 → 07 → 08 → 09 → 10 → 11 → 12

如果只想理解一次输出:01 → 03 → 04 → 05 → 06 → 08。如果想做嵌入或跨平台开发:02 → 07 → 09 → 10 → 11