Silkie 配置¶
这些选项用于在 kitty.conf 中配置 Silkie 的扩展。文件位置、语法和继承的设置见 kitty 配置参考。
下面的默认值和说明来自 Silkie 的配置定义。
电子纸与配色切换¶
对于外接电子纸显示器,包括被操作系统识别为普通显示器的 BOOX 显示器,请在 kitty.conf 中添加::
eink_mode yes
Silkie 使用白底黑字,并通过 显示信息协议 向应用报告 kind=eink。应用可利用这一信息避免动画、平滑滚动和频繁重绘。软件需要支持该协议才能使用此信息。
按 ctrl+shift+f12 在白底黑字和黑底白字之间切换。两种配色下,显示器都仍报告为电子纸。按 ctrl+shift+alt+f12 切换电子纸模式。这些快捷键使用 kitty_mod``(默认 ``ctrl+shift),并影响全部 Silkie 窗口。命令面板中也可执行这些操作。自定义快捷键::
map f6 set_color_scheme toggle
map f7 set_eink_mode toggle
在任意显示器上使用 color_scheme light 或 color_scheme dark 可固定配色。set_color_scheme auto 恢复配置颜色和自动主题;若启用电子纸模式,则恢复白底黑字。明确指定的浅色和深色优先于自动主题及操作系统外观变化。重新加载配置会恢复已保存的选择。
电子纸模式声明显示器类型,但不假定其色深或刷新时序。如果已知面板有十六级灰度,还可设置::
display_info color=gray bits=4
彩色电子纸显示器可省略这一行,或声明其实际能力。仍可使用 display_info kind=eink 仅覆盖报告信息,而不改变配色。这些声明应用于 Silkie 进程的全部窗口,因此在普通显示器和电子纸显示器之间移动时,应切换相应模式。
字体与中日韩文本¶
Silkie 默认的 font_family 是 Iosevka。请安装 Iosevka,以及衬线字体角色所需的 Iosevka Slab。协议选择、字体下载链接和中日韩文本行为见 字体选择协议。应用不附带字体文件。
font_role可重复指定的角色到字体映射,使用 kitty 的字体描述语法。默认为
sans Iosevka和serif Iosevka Slab。default保留给font_family。配置的角色可包含字体特性和可变轴设置;角色数量没有固定限制。cjk_font默认:
auto。优先使用对应地区的 Sarasa Term、Noto Sans CJK 或 Noto Sans Mono CJK,再使用地区系统字体和平台字形回退。明确指定字体可覆盖这一偏好。cjk_font_locale默认:
auto。选择jp、kr、sc、tc或hk,以使用相应地区的中日韩字形。自动选择遵循进程的区域设置;未指定时默认为sc。
输入限制¶
这些限制适用于程序写入终端的数据,每项都表示最大值。默认值 0 表示不限制。仅当需要约束试图耗尽内存或时间的程序时才应设置。Goblin View 使用 csi-limit 和 escape-limit;Goblin Skiff 使用 --csi-limit、--escape-limit 和 --vector-depth-limit。虚线、光栅和曲线限制适用于 Silkie 栅格化矢量图像时。
csi_limit单条 CSI 序列的最大字节数,即
ESC [之后直到并包括最终字节的全部内容。更长的序列会被忽略。0表示 CSI 长度不限。带数量参数的光标移动和编辑操作仍限制在屏幕范围内。escape_limit单条 OSC、APC、DCS、PM 或 SOS 序列的最大字节数,不计引入符和终止符。更长的序列会被丢弃。
0表示这些序列长度不限。剪贴板写入仍受clipboard_max_size限制。vector_depth_limit矢量元素可嵌套的最大分组层数。更深的元素不绘制。
0表示深度不限。无论如何设置,父级链中的循环都会被拒绝。vector_dash_limit单条路径描边的最大虚线边界数。若路径需要更多边界,则绘制为实线。
0表示绘制全部虚线。vector_raster_limit单个矢量图像光栅的最大像素数。请求的尺寸过大时按比例缩小。
0表示按实际显示尺寸栅格化。vector_curve_limit将一条曲线或一个圆展平时使用的最大线段数。
0表示按展平误差需要生成线段。
- hdr¶
默认:
detect。允许 HDR 显示器显示高于 SDR 白色的亮度。普通 SDR 内容与关闭此选项时完全相同;HDR 仅为程序通过 HDR 亮度协议、
cursor_brightness和 HDR 图像请求的内容增加亮度。默认值detect会在无需切换显示模式、且具备相应能力的显示器上启用 HDR:包括 macOS 上支持 EDR 的显示器(含 MacBook 内置显示器),以及 Wayland 上已经提供 HDR 亮度余量的显示器。窗口移到其他屏幕时会跟随显示器变化。no禁用 HDR;auto仅在屏幕上存在亮于 SDR 白色的内容时启用扩展范围;always则不论检测结果都保持启用。Silkie 不会将显示器切换为 HDR 模式;需要这样做的外接显示器必须在系统显示设置中启用。修改此选项后请重启 Silkie。支持 macOS;Wayland 还需要合成器实现色彩管理,并由图形驱动提供浮点窗口表面,详见 HDR 亮度协议。
- hdr_max_headroom¶
默认:
4.0。Silkie 用于 HDR 内容的最大亮度,以 SDR 白色的倍数表示。显示器可能提供更大的亮度余量,尤其在较低亮度设置下,但过亮的文本不适合阅读。超出此值的请求会被钳制。显示器自身的限制始终适用。
- cursor_brightness¶
默认:
1.0。块状光标的亮度,以 SDR 白色的倍数表示,例如
2.0表示普通白色文本亮度的两倍。大于一的值仅在 HDR 显示器且启用hdr时生效,否则按普通方式绘制光标。参阅 HDR 亮度协议。
- wayland_colorspace¶
默认:
srgb。Wayland 上操作系统窗口所用的色彩空间。默认
srgb保持原有行为。displayp3或rec2020会告知合成器窗口属于相应广色域;程序标注了广色域的颜色和图像会在该色域显示,而非裁剪到 sRGB,详见 广色域颜色。auto在三者中选择窗口所在显示器能够完整显示的最宽色域。所有未标注色域的内容均按 sRGB 处理并保持原貌,这与macos_colorspace不同。需要合成器支持色彩管理;否则窗口保持 sRGB。广色域窗口会额外对像素执行一次处理。
- eink_mode¶
默认:
no。即使操作系统将显示器识别为普通显示器,也声明它为电子纸,例如外接 BOOX 显示器。Silkie 通过 显示协议 报告
kind=eink,并在color_scheme为auto时使用白底黑字。明确设置color_scheme dark在电子纸上也有效。此设置适用于全部 Silkie 窗口。运行时可用
set_eink_mode yes、no或toggle切换,默认快捷键为ctrl+shift+alt+f12。显示信息订阅者会收到变化通知。重新加载配置会恢复配置中的设置。电子纸模式不会推断色彩能力和刷新时序。如有需要,使用
display_info声明,例如十六级灰度面板可设置display_info color=gray bits=4。电子纸模式优先于display_info kind=...。
- color_scheme¶
默认:
auto。用
light选择白底黑字,dark选择黑底白字。这些内置高对比度配色也会设置光标、选区和标签栏颜色。auto使用配置的颜色和自动主题文件,但eink_mode启用时会选择浅色配色。运行时可用
set_color_scheme light、dark、auto或toggle切换。默认快捷键为ctrl+shift+f12。变化适用于全部窗口,包括新窗口,直至重新加载配置。订阅 kitty 色彩偏好通知的应用会收到通知。
- display_info¶
默认:空(不覆盖)。
用于补充操作系统无法报告的显示属性,回答通过 显示协议 发起查询的程序。以空格分隔的
key=value键值对会覆盖 Silkie 的检测结果,例如电子墨水显示器::display_info kind=eink color=gray bits=4
可用的键为
kind`(:code:`lcd、oled、eink或unknown)、color`(:code:`rgb、gray或mono)、bits`(每个颜色通道的位数)、:code:`gamut`(:code:`srgb、p3、rec2020或unknown)、headroom、scale、period`(刷新周期,单位微秒)和 :code:`ppi。