# 主题与外观 NyaTerm 支持对工作区外观做细粒度调整,包括 UI 主题、终端主题、字体和光标样式。 ## UI 主题与终端主题 在 **设置 → 外观** 中,你可以分别配置: - **界面主题** — 控制应用整体配色 - **终端主题** — 控制终端区域配色;也可以选择跟随 UI 主题 顶部菜单 **View → Theme** 也可以快速切换主题。 内置的 **WindTerm Dark**(`windterm-dark`)和 **WindTerm Light**(`windterm-light`)分别基于 [WindTerm](https://github.com/kingToolbox/WindTerm) 的 `dige-black` 与 `dige-white` 配色,保留其 ANSI 16 色,并适配 NyaTerm 的界面状态色。两者都可独立用于界面或终端,也支持终端跟随界面。若要查看原始终端配色,请关闭下方的最小对比度增强;浅色主题的部分 ANSI 颜色在白底上对比度较低。 内置的 **Dracula**(`dracula`)和 **Dracula Light**(`dracula-light`)基于 [Dracula 官方规范](https://draculatheme.com/spec):深色版使用 Dracula Classic 的配色,浅色版使用 Alucard Classic(奶油白底)。官方规范也定义了 Alucard Classic 的 ANSI 16 色;但考虑到官方 ANSI 黑色(`#fffbeb`)在浅色终端背景上几乎不可见,NyaTerm 有意将浅色版的 ANSI 黑色调整为 `#1f1f1f`、ANSI 白色调整为 `#6c664b`。因此浅色版的这两项 ANSI 颜色与官方映射不同。深色版的亮黑(`#6272a4`)较暗,需要更高可读性时可以使用最小对比度增强。 主题列表里有两个高对比度主题,用于无障碍辅助、明亮环境或投屏场景: - **Nya HC** — 深色底的高对比度 - **Nya HC White** — 浅色底的高对比度 它们和其他 UI 主题一样,在 **设置 → 外观** 或顶部菜单 **View → Theme** 中选择。 ## 自定义主题 在 **设置 → 外观 → 管理主题** 中进入独立管理页。左侧按内置主题和我的主题分组,点击主题仅在右侧预览,不改变应用配色。内置主题只读,可创建副本后编辑;自定义主题可编辑、重命名、复制、导出或删除。 颜色选择器支持可视选色和颜色值输入,界面与终端颜色分开展示。预览包含界面控件、终端示例和 ANSI 16 色;非法输入保留上次有效预览,对比度不足时给出提示。 **保存修改** 直接持久保存主题;保存正在使用的主题会立即刷新所有使用处。**应用到界面/终端** 只更改对应范围;**同时应用** 将终端设为跟随界面。未保存的编辑可通过 **保存并应用** 一次提交。管理页操作不受设置页 **取消** 影响;外观页选择器和其他设置仍由设置页 **应用/取消** 控制。 创建、复制和导入先产生草稿,保存后才加入主题目录。离开未保存的编辑时,可保存、放弃或继续编辑。删除前必须确认:正在使用它的界面回退到 GitHub Dark,显式使用它的终端恢复跟随界面;首版不支持撤销。 **导入 JSON/导出 JSON** 兼容 Tauri 版单主题文件,导入 ID 冲突会生成新 ID。导出合法草稿不会隐式保存或应用。不支持的旧记录与未知字段会保留;发生并发冲突时保留编辑,可先导出,再放弃编辑并重新载入。 ## 最小对比度 **设置 → 外观 → 最小对比度** 在终端输出的前景色和背景过于接近时自动调整前景色,避免某些远端程序的配色在当前主题下不可读。可选档位: | 档位 | 含义 | |------|------| | 关闭 | 不做调整,完全按远端给的颜色渲染 | | 轻微增强 | 对比度不低于 3:1 | | 推荐:WCAG AA | 对比度不低于 4.5:1 | | 高对比:WCAG AAA | 对比度不低于 7:1 | | 极高 | 对比度不低于 21:1,即强制为纯黑或纯白 | 它只影响终端输出的渲染结果,不改变主题本身的配色定义。 ## 背景图 在 **设置 → 外观** 中可以为主窗口设置本地背景图: - **背景图**:选择主窗口背后的本地图片 - **图片尺寸**:控制图片以 `cover`、`contain`、`stretch` 或 `tile` 的方式铺开 - **图片不透明度**:控制背景图透过主题显示的强度 - **内容底色不透明度**:控制工作区面板和内容表面的透光程度,数值越低背景图越明显 这个能力只作用于主窗口工作区。设置页和其他子窗口仍然保持实色背景,避免在表单、弹窗和独立窗口里牺牲可读性。 ## 字体与字号 在 **设置 → 外观** 中可以调整: - **字体族** — 支持主字体 + 多级回退字体 - **终端字体大小** - **界面字体大小** 默认字体族是 `JetBrains Mono, Noto Sans SC Variable, Inter`:终端默认回退到 `JetBrains Mono`,界面默认回退到 `Inter`。 这些是**字体名,不是随应用打包的字体文件**。NyaTerm 从系统已安装字体中解析它们,本机没装 `JetBrains Mono` 时终端会落到平台默认等宽字体。要用这套字体需要自行安装。 字体列表会读取系统已安装字体供你组装回退链路,终端字体下拉只列出实测为等宽的字体族。系统字体是异步发现的,首次展开列表时可能短暂显示 `Loading system fonts...`,此时仍可以先填写字体名。 ## 光标 外观设置还支持这些终端细节: - **光标样式**:Block / Underline / Bar - **光标闪烁** 在深浅主题之间切换时,终端主题和 UI 主题一起调整后再检查关键词高亮、动作链接等终端装饰的可读性。 ## 语言切换 NyaTerm 当前提供: - 简体中文 - English 你可以通过两种方式切换: - **设置 → 通用 → 语言** - 顶部菜单 **View → Language** ## 面板与工作区外观 除了配色与字体,工作区本身也支持按使用习惯调整: - 左右侧面板宽度可拖动调整 - 标签内分屏比例可拖动调整 - 左右活动栏可通过快捷键快速显示 / 隐藏 这些布局状态跟随应用设置一起保存。 ## 缩放与快捷操作 应用提供这些常见快捷键: - **放大** — `Ctrl / Cmd + =` - **缩小** — `Ctrl / Cmd + -` - **重置** — `Ctrl / Cmd + 0` 演示、投屏或高分屏环境下用它们快速调整可读性。