菜单

外观与主题

相关源文件

本文档概述了 Tabby 的外观和主题系统,该系统控制应用程序窗口和终端渲染的视觉方面。该系统允许通过主题、配色方案和自定义 CSS 定制窗口边框样式、颜色、字体和其他视觉元素。

有关终端功能的详细信息,请参阅终端功能

1. 外观配置概述

Tabby 提供广泛的外观定制选项,分为两大类:

  1. 窗口外观 - 控制应用程序边框、不透明度、毛玻璃效果和整体 UI。
  2. 终端外观 - 控制字体、颜色、光标样式和其他终端特定的视觉效果。

外观设置存储在配置系统中,默认值在核心配置文件中定义。

来源:tabby-core/src/configDefaults.yaml3-22 tabby-settings/src/components/windowSettingsTab.component.pug3-124 tabby-terminal/src/components/appearanceSettingsTab.component.pug1-181

2. 主题系统

Tabby 的主题系统允许控制应用程序的整体外观。主题设置存储在 config.store.appearance.theme 中,可以设置为特定的主题名称,或设置为“跟随配色方案”以自动匹配操作系统的深色/浅色模式设置。

2.1 主题选择

主题可以在“窗口设置”选项卡中选择。默认主题是“跟随配色方案”,它会根据系统的配色方案自动在浅色和深色主题之间切换。

来源:tabby-core/src/configDefaults.yaml14 tabby-settings/src/components/windowSettingsTab.component.pug3-10

2.2 窗口边框选项

Tabby 支持三种窗口边框样式:

边框样式描述
原生使用操作系统的原生窗口边框
使用带极简按钮的细自定义边框
完整版使用带 Tabby 样式的完整自定义边框

来源:tabby-core/src/configDefaults.yaml15 tabby-settings/src/components/windowSettingsTab.component.pug87-122

2.3 毛玻璃和不透明度

Tabby 允许控制窗口的透明度和毛玻璃效果:

  • 不透明度:控制窗口的透明级别(0.4 到 1.0)
  • 毛玻璃/压克力背景:启用模糊透明背景效果
  • 背景类型:在支持的平台上,允许选择不同的毛玻璃类型

这些设置提供了视觉定制,同时保持了终端内容的可读性。

来源:tabby-core/src/configDefaults.yaml17-19 tabby-settings/src/components/windowSettingsTab.component.pug35-85

3. 终端外观

终端外观设置控制终端内容的显示方式,包括字体、颜色和光标样式。

3.1 字体配置

字体设置包括:

  • 字体系列:用于终端文本的主字体
  • 字号:终端文本的大小
  • 字体连字:是否为编程字体启用字体连字
  • 字体粗细:常规和粗体字重
  • 回退字体:用于主字体中缺失字符的第二字体系列

来源:tabby-terminal/src/components/appearanceSettingsTab.component.pug2-28 tabby-terminal/src/components/appearanceSettingsTab.component.pug29-53 tabby-terminal/src/components/appearanceSettingsTab.component.pug152-161

3.2 光标样式

终端光标可以自定义:

  • 光标形状:块状、竖线或下划线
  • 光标闪烁:光标是否闪烁

这些设置影响光标在终端中的显示方式。

来源:tabby-terminal/src/components/appearanceSettingsTab.component.pug88-137

3.3 配色方案

Tabby 使用配色方案来定义终端的颜色调色板。每个配色方案包括:

  • 背景颜色
  • 前景色
  • 光标颜色
  • 16 种 ANSI 颜色(8 种标准颜色和 8 种亮色变体)

终端可以使用主题的背景颜色或配色方案的背景颜色,具体取决于设置。

来源:tabby-terminal/src/components/appearanceSettingsTab.component.pug58-87 tabby-terminal/src/components/colorSchemePreview.component.pug1-67

3.4 行间距

行间距在终端文本行之间增加额外空间,提高可读性。

terminal.linePadding: number (default: 0)

此设置对于垂直间距有限的字体特别有用。

来源:tabby-terminal/src/components/appearanceSettingsTab.component.pug163-171

4. 自定义 CSS

Tabby 允许通过自定义 CSS 进行高级样式设置。用户可以添加 CSS 规则,覆盖应用程序中的任何默认样式。

自定义 CSS 存储在 config.store.appearance.css 中,并在运行时应用于应用程序。

来源:tabby-core/src/configDefaults.yaml16 tabby-terminal/src/components/appearanceSettingsTab.component.pug174-181

5. 组件集成

下图显示了外观设置组件如何集成到设置 UI 中:

来源:tabby-settings/src/components/settingsTab.component.pug1-183 tabby-settings/src/components/windowSettingsTab.component.pug1-444 tabby-settings/src/components/appearanceSettingsTab.component.pug1-181

6. 停靠和窗口定位

Tabby 提供一个停靠系统,允许终端窗口吸附到屏幕边缘:

  • 停靠位置:关闭、顶部、左侧、右侧或底部
  • 显示器选择:要停靠在哪一个屏幕上
  • 停靠大小:控制窗口离边缘和沿边缘的尺寸
  • 始终置顶:选项以使停靠的终端始终置于其他窗口之上
  • 失去焦点时隐藏:选项以在失去焦点时隐藏终端

这些设置允许自定义工作流程,以便在需要时快速访问终端。

来源:tabby-core/src/configDefaults.yaml4-9 tabby-settings/src/components/windowSettingsTab.component.pug133-262

7. 选项卡外观配置

Tabby 中的选项卡可以通过以下几个选项进行自定义:

  • 选项卡位置:顶部、底部、左侧或右侧
  • 选项卡宽度:固定或动态
  • 选项卡选项:隐藏选项卡索引、显示配置文件图标、隐藏选项按钮、隐藏关闭按钮
  • 全屏模式下的选项卡:是否在全屏模式下显示选项卡

这些设置控制选项卡在 UI 中的显示方式。

来源:tabby-core/src/configDefaults.yaml10-13 tabby-settings/src/components/windowSettingsTab.component.pug264-388

8. YAML 配置

所有外观设置都可以在 YAML 格式的配置文件中直接编辑。

在应用程序中,可以通过“设置”>“配置文件”选项卡访问和编辑配置文件。

来源:tabby-core/src/configDefaults.yaml1-22 tabby-settings/src/components/settingsTab.component.pug141-169

9. 平台特定功能

某些外观功能是平台特定的:

  • 毛玻璃/压克力背景:在 Windows 和 macOS 上可用
  • 流畅背景:在 Windows 10 上可用
  • 托盘图标:在除 Linux 之外的所有桌面平台上可用

UI 会自动适应,仅显示当前平台上可用的选项。

来源:tabby-settings/src/components/windowSettingsTab.component.pug35-44 tabby-settings/src/components/windowSettingsTab.component.pug124-131 tabby-settings/src/components/windowSettingsTab.component.pug426-444

10. 默认字体和终端样式

Tabby 包含一个默认的等宽回退字体“Source Code Pro”用于终端渲染。

终端还包括视口滚动条和装饰尺的默认样式。

来源:tabby-terminal/src/frontends/xterm.css1-19

11. 配色方案预览

Tabby 包含一个配色方案预览组件,显示终端颜色将如何呈现。

预览显示了具有不同颜色、字体样式和终端元素在所选配色方案和字体设置下的示例终端输出。

来源:tabby-terminal/src/components/colorSchemePreview.component.pug1-67

这个全面的主题系统允许用户根据自己的偏好和工作流程需求定制 Tabby 的外观,同时保持不同平台之间的一致性和可用性。