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 测量。
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 等精准滚动设备。你现在可以独立控制离散(鼠标滚轮)与精准(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。
在各节中,我们尽量把改进排在 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 上实现
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:回车键现在确认"更改终端标题"对话框。#8949
- GTK:把最后一个标签页拖出 Tab 概览不再崩溃。#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 发行说明的路线图。