Ghostty 1.2.1

Ghostty 1.2.1 的發行說明,發佈於 2025 年 10 月 6 日。

Ghostty 1.2.1 由 13 位貢獻者 在 62 個提交 中完成,歷時兩週。這是一個修補發行,主要專注於修復 1.2.0 發行中引入的問題,也包含少量改進。

亮點

字型渲染改進

PR:#8563 #8580 #8738 #8720 #8847

Ghostty 1.2.0 包含了對字型渲染系統的大幅重構。如此大的變更通常會帶來問題,一些在測試之外發現的問題也如期出現了。Ghostty 1.2.1 解決了其中許多問題。

變更概述:

  • Nerd Font 圖示現在一定更大,且彼此大小匹配更好,能更好地利用可用儲存格空間。寬於單個儲存格的圖示現在靠左對齊,而不是跨儲存格置中。
  • 使用寬高比形式的主字型時,CJK 字元不再顯得過大。IC 寬度(表意字元寬度)現在透過測量 ASCII 字元的整體邊界框來設上限。
  • 字形約束現在在加粗與置中操作之前套用,確保圖示大小與位置不隨字型大小、加粗強度或顯示 DPI 變化而一致。
  • 修復了 Nerd Font 補丁擷取中的 bug:此前由於碼點偏移問題,規則被套用到錯誤的字形上,並且不相關的補丁集合被錯誤包含。
  • 改進 FreeType 字形測量,確保字形以與渲染時相同的 hinting 測量。

Shell 整合向 PATH 新增 ghostty

PR:#8976

Shell 整合現在會自動把 GHOSTTY_BIN_DIR 新增到你的 PATH,使 ghostty 二進位無需額外設定即可在許多 shell 中使用。

Ghostty 之前(現在也是)在執行 shell 之前把 ghostty 加入你的 PATH,但許多 shell 設定會重設 PATH。此變更作為 shell 整合指令稿的一部分增加了一層,以提高 ghostty 在你的 shell 中可用的機率。

bash、zsh、fish 與 elvish 均支援。

面向精準捲動裝置的滑鼠捲動倍數

PR:#8927

mouse-scroll-multiplier 設定現在支援 Apple trackpad 等精準捲動裝置。你現在可以獨立控制離散(滑鼠滾輪)與精準(軌跡板)捲動的倍數,使不同輸入裝置下瀏覽大量捲動緩衝區更平滑、更可預測。

範例:

# Apply the same multiplier to both precision and discrete
mouse-scroll-multiplier = 3

# Apply different multipliers (order doesn't matter)
mouse-scroll-multiplier = precision:0.1,discrete:3

# Apply only to precision, use default for discrete
mouse-scroll-multiplier = precision:2

預設精準倍數為 0.1,離散倍數仍為 1。

完整變更日誌

GitHub 上已關閉議題的完整列表。

在各節中,我們盡量把改進排在 bug 修復之前。

  • config:如果未手動設定字型,font-size 現在會在執行時重新載入。#8680
  • cli:+list-themes 預覽現在包含游標與選區顏色。#8446
  • cli:+edit-config 現在正確處理帶引數的 $EDITOR 值。#8898
  • config:command-palette-entry 現在在欄位中支援逗號。#8849
  • config:含 = 的綁定值現在能正確解析。#8675
  • 捲動在把滑鼠拖出視窗外時不再反轉方向。#8683
  • 即使設定目錄已存在,設定範本也能正確建立。#8892
  • config:把空的 XDG 環境變數視為不存在。#8830
  • shell-integration:現在為所有支援的 shell 把 GHOSTTY_BIN_DIR 加入 PATH。#8976
  • shell-integration/bash:把 ssh 包裝器標記為函式以避免別名衝突。#8647
  • i18n:新增克羅埃西亞語(hr_HR) 翻譯。#8668
  • i18n:新增繁體中文(zh_TW) 翻譯。#6773
  • i18n:葡萄牙語翻譯更新。#8633
  • contrib/vim:用 :setf 設定檔案類型(filetype)。#8914

macOS

  • macOS:在 macOS 上實作 bell-features=border。#8768
  • macOS:bell-features=title 現在正常運作。#8766
  • macOS:進度條小工具現在在 macOS 26 上正確渲染。#8731 #8753
  • macOS:編輯設定檔時的配置錯誤不再導致當機。#8886
  • macOS:自訂 shader 現在可在 Intel GPU 上運作。#8751 #8749
  • macOS:「New Terminal」快捷鍵正確把期望的設定傳遞給分屏。#8638
  • macOS:在 macos-custom-icon 中新增對 ~ 展開的支援。#9024
  • macOS:quick terminal 在多顯示器下使用時更可靠地恢復大小。#8796
  • macOS:Ghostty 未執行時,「New Terminal」app intent 現在只開啟一個終端。#8669
  • macOS:「Copy Screen to Temporary File and Open」動作現在正確開啟檔案。#8763
  • macOS:window-position-x/y 現在正確以左上角為參考。#8672 #8760
  • macOS:「New Ghostty Tab Here」服務現在開啟分頁而非新視窗。#8783 #8784
  • macOS:服務不再顯示「服務無法使用」的警告對話框。#8785 #8790
  • macOS:window-step-resize 現在與 Stage Manager 配合更可靠。#9020
  • macOS:在同步外觀時延遲應用程式圖示更新以改善啟動時間。#8792
  • font/coretext:某些 RTL(由右至左)語言加行尾空格的當機不再發生。#9002

GTK(Linux、FreeBSD)

  • GTK:Enter 鍵現在確認「變更終端標題」對話框。#8949
  • GTK:把最後一個分頁拖出分頁概覽不再當機。#8944 #8955
  • GTK:黑色文字的 minimum-contrast 現在設定正確顏色而不是不可見。#8782
  • GTK:quit-after-last-window-closed-delay 現在按預期運作。#9052 #9053
  • GTK:split-divider-color 現在正確套用。#8853
  • GTK:unfocused-split-fill 現在正確渲染。#8813
  • GTK:鈴聲特性現在在每個 BEL 字元上觸發。#8962
  • GTK:重複的訊號處理器不再造成多個 toast。#9001
  • GTK:恢復 Flatpak 感知的資源目錄支援。#8816

面向套件維護者的變更

  • Ghostty 現在把 Linux 上的建置限制在 32 核,以規避 Zig 中一個已知的記憶體損毀 bug,使 Ghostty 能在 32 核以上的機器上可靠建置。該 bug 已在 Zig 裡解決,但不會向後移植到 Ghostty 1.2.x 依賴的 0.14.x 系列。#8925

路線圖

我們相信未來某個時候可能還會有 1.2.2 發行,以繼續解決 1.2.0 與 1.2.1 的變更所引入的小問題。可能的 1.2.2 發行很可能是週期中段的發行(數月之後),而不是快速跟進。

目前 1.2.x 系列一直非常穩定,我們不急於發行更多 bug 修復版本。我們收到了關於該發行的非常積極的回饋,很高興看到人們在享受新特性。

更大的計劃見 1.2.0 發行說明的路線圖。