Ghostty 1.1.1
Ghostty 1.1.1 的發行說明,發佈於 2025 年 2 月 13 日。
Ghostty 1.1.1 由 13 位貢獻者 在 125 個提交 中完成,歷時兩週。本次發行的重點是修復 1.1.0 發行中引入的回退或 bug。我們也在既有特性中順帶加入了一些不錯的改進。
Important
在 macOS 上的 Ghostty 1.1.1 中發現一個重大回退:使用 Kitty Keyboard 協議的程式(如 Neovim 和 Fish 4.0)中 control 修飾鍵無法正常運作。此問題已在 1.1.2 中修復。
PR:#5533
Ghostty 1.1.0 引入了對 Linux Wayland 合成器上伺服器端裝飾(SSD)的支援。這使 Ghostty 在更多種桌面環境上的觀感與體驗更接近原生應用程式。不過,它在 X11 上並不生效。
透過 Ghostty 1.1.1,當 window-decoration = server 時我們在 X11 上也加入了 SSD 支援。X11 沒有提供標準方法告知我們它偏好 SSD 還是用戶端裝飾(CSD),因此 X11 上的 SSD 只在顯式設定 server 時生效,auto 值下不生效。
Ghostty 1.1.0 在 IME 支援上投入了大量精力,但諷刺的是破壞了沒有啟用輸入法的場景(GTK "simple" 輸入法)。這已在 1.1.1 中修復。1.1.0 的變通辦法是安裝 ibus 或 fcitx。現在不再需要,"simple" 輸入法應能按預期運作。
此外,在 macOS 上,改進的 IME 支援導致某些鍵盤布局無法輸入控制字元(如 ctrl+c)。這已在 1.1.1 中修復。
原來 Ghostty 在 macOS 上使用獨立顯示卡時會觸發未定義行為。實際上這只影響 Intel Mac,因為所有 Apple Silicon Mac 都有整合繪圖晶片,且 Ghostty 為省電總是偏好整合繪圖晶片(如果可用)。
該未定義行為有時正常,有時導致渲染偽影或其他奇怪的視覺表現。我們現在正確偵測獨立顯示卡,並使用正確的 API 與行為來避免未定義行為。
在各節中,我們盡量把改進排在 bug 修復之前。
goto_split與goto_tab現在可與performable:keybind 前綴正常配合。#5644+list-actionsCLI 命令現在包含沒有關聯文件的動作。#4958- 為終端檢查器的終端 IO 視窗新增鍵盤導航。#3909
- 修復螢幕上有 Kitty graphics 時重設終端可能發生的當機。#5693
- 修復超大 OSC8 超連結可能發生的當機。可能還有其他能觸發該當機的場景,但這整類當機已解決。#5666
- 修復游標色彩與背景色相同時游標下字元不可見的問題。#5570
- 修復載入非檔案主題時可能發生的當機。#5632
- iTerm2 配色主題更新至 db227d159。#5511
- macOS:新增若干新的另類手繪圖示選擇。可以用
macos-icon設定設定。#5696 - macOS:啟動時把視窗置於最後一個取得焦點的視窗的位置,遵循其他原生 macOS 應用程式的行為。#5529
- macOS:現在如果存在需要關閉確認的處於活動狀態但隱藏的 quick terminal,也會顯示關閉確認。#5450
- macOS:修復控制字元在某些鍵盤布局上不運作的問題。#5448
- macOS:修復調用
move_tabkeybind 時的圖形閃爍。#5729 - macOS:
toggle_visibility現在從全域 keybind 調用時恢復焦點到正確的分頁。#5692 - macOS:修復某些命令字元(如
cmd+backtick)會把未修飾的字元洩漏進終端的問題。#5558 - macOS:視窗處於原生全螢幕時
toggle_visibility不再有任何效果。此前它會導致視窗失去焦點。#5472 - macOS:修復獨立顯示卡的未定義行為。#5625
- macOS:把 Sparkle 相依套件更新至 2.6.4 以修復安全問題。#5598
- GTK:伺服器端裝飾(SSD)現在在 X11 上可用。#5533
- GTK:把
WINDOWID環境變數設為 X11 視窗 ID。#5650 - GTK:修復某些情況下右鍵選單位置不正確的問題。#5710
- GTK:"simple" 輸入法現在正常運作。#5550
- GTK:新增停用色彩管理的選項以規避 GTK bug。#5593
- GTK:
window-decoration=none在 GNOME 上正常運作。#5463 - GTK:未使用 CSD 時移除框線等 CSD 樣式。#5581
- GTK:Nautilus 整合現在使用命名規範的檔案。#5469
- GTK:clone 後關閉 cgroup 檔案描述符,以避免小的 fd 洩漏。#5515
- 引入了一個新的 Zig 相依套件
zig-gobject。它採用 0BSD 授權。引入該相依套件不會改變現有的 Ghostty 打包流程。
本次發行時我們沒有計劃後續修補發行。我們相信剩餘的 bug 很小,可以在未來更大的 1.2.0 發行中解決。我們會繼續監控 issue tracker 和 pull requests,以發現可能出現的重大問題。
重點將轉向 1.2.0 發行。這將是一次更大的發行,包含更顯著的變更與特性。其時間表尚未確定,但可能還要數月。
1.2.0 為 Linux 規劃的一個重大破壞性變更是要求 libadwaita。我們在 1.1.0 發行中宣布了這一意向,並徵求回饋。在提供回饋前,請仔細閱讀關於該變更的細節。