---
title: "窗口"
description: "侧边栏与 Library、窗口标签与 pane 标签、独占一个窗口的 Thread、标签图标、侧边栏里的图标与状态、Live Overview、ThinkTerm 画的两套颜色、界面字号、窗口透明度、分享终端、图片、录屏遮挡、回滚如何移动、复制与粘贴，以及更新提示。"
url: "https://docs.closex.org/zh/thinkterm/window.html"
markdown_url: "https://docs.closex.org/zh/thinkterm/window.md"
site: "CloseX Docs"
product: "ThinkTerm"
language: "zh-Hans"
last_updated: "2026-11-08T12:04:16.000Z"
alternates:
  en: "https://docs.closex.org/thinkterm/window.md"
  zh-Hans: "https://docs.closex.org/zh/thinkterm/window.md"
  ja: "https://docs.closex.org/ja/thinkterm/window.md"
---

# 窗口

> **文档编写中**
> 部分内容可能尚不完整。

窗口分三块：左边是承载工作区的侧边栏，中间是终端区域，右边是可选的面板。终端本身来自 WezTerm，渲染、字体和转义序列由它的[文档](https://wezterm.org/)原样覆盖。下面讲的是它周围的那一圈。

## 侧边栏

侧边栏装着工作区：当前显示的 Space、它的 Project，以及每个 Project 里的 Thread。这套模型和其中的每个菜单见 [Space、Project 与 Thread](https://docs.closex.org/zh/thinkterm/spaces.md)；这里只讲布局。

最上方有一个按钮，写着当前 Space 的名字，点开是 Space 菜单。菜单先列出本机的 Space，再按远程服务端分组列出各自的 Space，组名是服务端名字和连接状态，每组都带一个 `在此服务器新建空间`。已经在另一个窗口里打开的 Space 会标为已被占用，选不了，因为一个 Space 同一时间只在一个窗口里显示。同一个菜单里还有 `添加远程主机…`、`新建空间`、重命名当前 Space，以及移除它或另一个 Space。`设置 › 外观 › 连上的服务器` 可以改变它列出服务器的方式：把每台服务器的 Space 全部展开（`全部展开`，默认）、每台服务器只占一行（`每台一行`），或者把服务器作为文件夹放进本机的某个 Space 里（`文件夹`），这样菜单里只列你自己的。每种方式的细节见 [Space 菜单里的服务器](https://docs.closex.org/zh/thinkterm/spaces.md#servers-in-the-space-menu)。在 [远程主机](https://docs.closex.org/zh/thinkterm/remote.md) 里给主机的 `图标` 栏选的图标，会在这个菜单里标出它的服务器。

在 macOS 上，右键点程序坞里的 ThinkTerm 图标，会在 `New Window` 之下按字母顺序列出窗口里已打开的 Space，正在使用的那个打勾。选一个，就把它的窗口带到前面。

下面是这个 Space 的 Project，各自带着自己的 Thread。置顶的 Thread 会离开所属 Project 的列表，进入 Space 顶部唯一的 `已置顶` 区，这个区汇集了 Space 里所有 Project 的置顶。置顶的 Thread 不能拖动排序；已归档 Project 的置顶在它取消归档之前不会出现在这个区里。Thread 也可以标记为未读。

每个 Thread 带着一个实时状态，所以这份列表本身就回答了「哪些会话在干活、哪些在等你」，不必逐个点开 —— 这个状态是怎么判定的，见 [Agent 状态](https://docs.closex.org/zh/thinkterm/agents.md)。Thread 的名字旁边还显示它的 pane 正在运行的程序，用的是和 pane 标签一样的图标；怎么排列、状态怎么画，见 [侧边栏里的图标与状态](#侧边栏里的图标与状态)。

窗口正在显示的那个 Thread 在列表里看不见时，也就是被滚出了视野或折叠进了它的 Project，列表的上边缘或下边缘会浮出一个药丸形按钮（`滚到当前会话`），上面是那个 Thread 的图标和指向它的箭头。点它会在需要时展开文件夹，并把列表滚回那个 Thread。

把指针停在 Thread 的行上，会打开一张卡片，数出它有几个 agent，并逐个列出各自的状态。每个 agent 标题行的末尾，按命令行的叫法写出它所在的 pane，形如 `窗格 3`；别的机器上的 pane，编号前面带着那台机器的名字，形如 `窗格 devbox/3`。`状态` 面板里 agent 的悬停卡片还多一行 `窗格`，写着同一个名字，pane 有标签的话接在后面。这就是 [命令行](https://docs.closex.org/zh/thinkterm/cli.md) 里 `--pane` 接受的编号。

侧边栏默认宽 31 个字符格。底部有四个按钮：Library、`实时总览`、`远程主机` 和 `查找线程`。设置不再放在底部：它是 Library 左边缘的那个圆形按钮，`设置…` 也在命令面板里，在 macOS 上还可以按 ⌘,。

侧边栏里的添加按钮，比如 `工作区` 旁边的 `+` 和 Project 行上的 `+`，只在指针停在上面时才画出圆形底。`设置 › 辅助功能 › 显示按钮形状` 默认关闭，打开后它一直画着。

在 macOS 上按住 ⌘，其他系统按住 Ctrl+Shift，半秒之后，侧边栏从上往下数的前九个 Thread 会各显示一个数字，也就是到达它的那个键。macOS 上 ⌘1 到 ⌘9，其他系统上 Ctrl+Shift+1 到 9，打开对应的 Thread。置顶的 Thread 先数，折叠起来的 Project 里的 Thread 不数。这个组合键是从快捷键表里读出来的，所以在 `设置 › 快捷键` 里改了，按住的键和显示的内容都会跟着变。窗口标签为此改到了 Ctrl+1 到 9；完整列表见 [快捷键与命令](https://docs.closex.org/zh/thinkterm/keyboard.md)。

Thread 的行可以拖动来调整顺序，见 [Space、Project 与 Thread](https://docs.closex.org/zh/thinkterm/spaces.md#调整顺序)；也可以直接拖出侧边栏，给这个 Thread 一个自己的窗口：见 [独占一个窗口的 Thread](#a-thread-in-its-own-window)。

侧边栏收起时，把指针停在窗口左缘，或者停在侧边栏按钮上，它就会盖在终端上方滑出来，指针离开后再收回。下面的终端既不移动也不改变大小，所以里面运行的程序不会察觉到尺寸变化。从滑出的侧边栏里打开的菜单或重命名，会让它一直留着，直到你操作完。

## Library {#the-library}

侧边栏显示一个 Space，Library 显示全部。这个窗口够得着的每个 Space 是一张卡片，卡片就是那个 Space 自己的侧边栏，带着它的 Project 和 Thread；卡片按所在的机器分组：先是 `本机`，然后是各台服务器，按它们的 Space 最早出现的先后排列。正在连接或连不上的服务器，会在名字旁边写明。作为文件夹显示的服务器（见 [Space 菜单里的服务器](https://docs.closex.org/zh/thinkterm/spaces.md#servers-in-the-space-menu)）没有自己的卡片，只有这个窗口所在的那个 Space 例外。

它取代左边的侧边栏：窗口左边的一块面板，终端保留剩下的宽度。打开或关上它，终端只会按最终的宽度改变一次大小，里面的程序也只看到一次尺寸变化。拖动面板的边缘可以调宽或调窄，宽度会被记住。

打开它有三种方式：侧边栏底部的 Library 按钮（`ThinkTerm Library`），命令面板里的 `ThinkTerm Library`（这个动作可以绑定到按键上），以及在 macOS 上越过第一个 Space 继续轻扫。见 [滑动切换 Space](https://docs.closex.org/zh/thinkterm/spaces.md#滑动切换-space)。Library 打开时，显示和隐藏侧边栏的按钮不起作用。

- 点一张卡片，这个窗口就切到那个 Space；点卡片里的某个 Thread，就打开那个 Thread。没连上的服务器上的 Space 会在切换途中连接。选了另一个 Space，Library 就收回去，选中的那张卡片变成侧边栏。在窗口已经在的 Space 里选，Library 仍然开在终端旁边。
- 别的窗口已经打开的 Space，不能从它的卡片打开。它的 `更多` 菜单里只有一行 `my-space（已被占用）`，所以也不能从这里重命名或移除。
- 卡片的 `更多` 按钮打开这个 Space 的菜单：重命名，以及 [删除](https://docs.closex.org/zh/thinkterm/spaces.md#删除) 里讲的移除。名字是在侧边栏的标题处编辑的，所以选重命名会先切到那个 Space、关上 Library，并在那里开始编辑。机器名旁边的 `+` 在那台机器上新建一个 Space，新卡片会出现，窗口仍留在当前的 Space 里。
- 滚轮或触控板沿着卡片那一排移动。卡片里的行没有置顶和垃圾桶按钮。
- `回到侧栏`，也就是面板左边缘的箭头，把它关上。按 Escape 也行，除非菜单、命令面板、右侧栏里的文本框或别的什么在前面要用这个键；在卡片之外的面板上起手、朝终端方向轻扫触控板，也能关上。

面板的标题数出它装着的东西，形如 `2 台机器 · 5 个空间`。左边缘的圆形 `设置` 按钮打开设置。表示已关闭的更新的那个小点（见 [更新](https://docs.closex.org/zh/thinkterm/updates.md#the-update-capsule)），会落在这个按钮上，也落在通向它的侧边栏 Library 按钮上。

## 窗口标签与 pane 标签

标签分两层，值得分清。

窗口顶部那一排是窗口标签。每个窗口标签是一整套布局 —— 一个终端，或者左右、上下分屏的好几个 —— 切换窗口标签就是整套布局一起换掉。

`设置 › 外观 › 一级标签栏` 决定这一排是否保留它的位置。`显示`（默认）保留。`自动隐藏` 把这一排的高度还给终端，在指针停在窗口顶部边缘时，把这一排放下来盖在窗口上方。终端是被推下去而不是被缩小，所以不会重新排版，最后一两行在这一排收回之前会掉出视野。这一排末尾、`+` 旁边的图钉可以让它一直露着：钉住后它像 `显示` 一样占着自己的高度。在设置里选 `自动隐藏` 时，图钉是松开的，而且图钉对所有窗口生效。这一排不在时，标签都还在；用键盘或命令面板切换。从键盘或命令面板重命名窗口标签，会把这一排放下来供你编辑；当前的终端正在连接或已离线时，这一排也会放下来，因为它是通向别的标签的路。

这一排不在时，macOS 保留左上角的红黄绿按钮，而右侧栏关着的时候，右上角的 pane 栏持有它的开关。在 Windows 和 Linux 上，这一排持有窗口自己的按钮和两个侧栏的开关，所以它不在时改由顶部一线的 pane 栏持有这些，pane 栏的空白处可以拖动窗口。独占一个窗口的 Thread，不管设置怎么写，这一排都收着；那个窗口只有一个窗口标签时，什么也不会把这一排放下来。

布局里的每一格上方都有自己的一条标签：一个 pane 栈。栈里的标签是轮流占用这一格的多个终端，所以一格里可以放好几个 shell，而不必再分屏。这条标签末尾的按钮分别用来在栈里新建标签、把这一格向下或向右分屏，以及把它放大到占满整个窗口标签；双击标签条的空白处也会在那里新建标签。窗口标签里只有一个 pane 时没有放大按钮，因为放大它什么也不会变；分屏之后按钮就回来了，已放大的 pane 上它会一直留着，用来还原。[分享](#sharing-a-terminal) 打开时，会话 server 上的终端还会多一个分享按钮。如果这一格处在上下分屏中，还有一个按钮可以把它折叠成只剩标签条，把空间让给其余部分，每个窗口标签同时只能折叠一格。

pane 标签可以拖到某一格上。放在这一格自己的标签条上，它加入那一格的栈；放在靠近边缘处，它在那一侧把格子分开，占据新的一半；放在格子中间，它和那里正显示的 pane 互换位置。互换时两个 pane 各自换到对方在栈里的位置，并取得那一格的大小，所以格子本身和周围的 pane 都留在原处，被你拖动的那个 pane 会排在新栈的最前面并被选中。松手之前会有高亮显示结果：标签条、某一侧的一半，或者互换时的整个格子。被拖动的标签会跟着指针走，保持你抓住它的位置，松手时落进它的位置。

布局的变化带有动画。新开的分屏从它打开的那一侧滑进来，关掉的分屏沿原路滑出去。放大的 pane 从它的格子里长出来，其余的被推出窗口标签的边缘之外，放回去时又回来。被移动或互换的 pane 会飞到新的位置，其余的同时让路。动的只是画面：布局已经改好，所以 pane 里的程序只看到一次尺寸变化，而不是每一帧一次。`设置 › 终端 › 分屏动画` 默认开启，关掉它就关掉了以上所有动画。

在窗口标签上右键，有这些项：

| 菜单项 | 作用 |
|---|---|
| `重命名标签页…` | 给窗口标签命名 |
| `关闭左侧标签页`、`关闭右侧标签页`、`关闭其他标签页` | 关闭这些窗口标签，不会先询问 |
| `标签页左移`、`标签页右移` | 在这一排里移动一格 |
| `在右侧新建终端标签页` | 在它旁边打开一个窗口标签，与它当前的终端在同一台机器上 |
| `放大窗格` | 把这个窗口标签里的当前格放大占满，或者还原 |

右键点这一排末尾的 `+`，会打开一个菜单，用你选的程序新开一个窗口标签。`新建标签页` 下列出这台机器上找到的 shell，`设置 › 终端 › 默认 Shell` 里选定的那个带勾。`远程主机` 之下是在远程主机页面保存的主机，打开方式与它们的 `连接` 相同；超过六台时收进各自的子菜单。再往下是配置文件里 `launch_menu` 的条目，以及 `更多…`，它打开这个右键以前打开的启动器。只有当前的终端运行在这台机器上时才会列出 shell；在别的机器上的终端里，右键打开的是启动器。两种情况下，配置文件里的 `new-tab-button-click` 处理函数都先运行，并且可以接管这次点击。

在 pane 标签上右键，可以给这个标签重命名。

在终端里右键，有 `复制`、`粘贴`、`编辑录屏遮挡…` 和 `清除录屏遮挡`（见 [录屏遮挡](#录屏遮挡)）、`向右分屏`、`向左分屏`、`向下分屏`、`向上分屏`，以及 `重置终端`。最后一项 `Frontend access` 在 `A · Shared (tmux-like)` 和 `B · Handoff (exclusive)` 之间选择 —— 多台设备可以同时操作这个终端，还是一次只能一台 —— 详见 [网页访问](https://docs.closex.org/zh/thinkterm/web.md)。终端里的程序捕获了鼠标时，右键时按住 Shift。右键也可以改成粘贴，或者复制与粘贴，而不是打开这个菜单；见 [复制与粘贴](#复制与粘贴)。

## 独占一个窗口的 Thread {#a-thread-in-its-own-window}

一个 Thread 可以有自己的窗口。在 Thread 的菜单里选 `在新窗口打开`，或者把 Thread 的行拖出侧边栏：这一行会变成一张跟着指针走的卡片，松手的地方就是 Thread 的窗口打开的地方。在 macOS 上，用 WebGPU 渲染器且不在全屏时，卡片可以跟着指针越过窗口的边缘；其他情况下，以及在 Windows 和 Linux 上始终，它停在窗口边缘。把卡片拖回侧边栏上方，它就变回一行。任何 Thread 都能拖出去，置顶的也可以。

新窗口只显示这个 Thread。它没有侧边栏，因此也没有自己的 Space，窗口标签那一排按 [窗口标签与 pane 标签](#窗口标签与-pane-标签) 里说的收着。关于其他 Thread 和 Space 的命令，比如 `新建会话`、切换 Space、Live Overview、Library 和 `查找线程`，会交给有侧边栏的窗口去办；显示或隐藏侧边栏在这里什么也不做。

一个 Thread 同一时间只显示在一个窗口里，因为两个窗口不能各自去改同一批终端的大小。原来显示它的窗口会换成一个页面，写着 `这个会话已在另一个窗口打开。`，带一个 `前往窗口` 按钮；Thread 开着的时候，它的菜单里用 `前往窗口` 代替 `在新窗口打开`。在另一个窗口的侧边栏里选这个 Thread，出来的也是同一个页面，而不是把 Thread 抢回来。

关掉这个窗口并不结束 Thread：它的终端继续运行，原先显示那个页面的窗口把 Thread 接回去。ThinkTerm 记得哪些 Thread 有过窗口，下次启动时重新打开它们。没在运行的 Thread，只有在它是本地的、并且属于第一个窗口所打开的那个 Space 时才会回来；不会为了一个你并没有刚刚要求的窗口去唤醒服务器。

## 标签图标

每个 pane 标签都带着一个图标，表示这个 pane 正在运行什么：Claude Code、Codex、Python、Neovim、Docker、一个 SSH 会话，等等；shell 或者没有图标认领的程序，显示普通的终端标记。pane 正在干活时，图标让位给一个转圈。顶部那一排窗口标签里装着好几个 pane，各自可能跑着不同的东西，所以它们始终显示终端标记。

pane 在运行什么，是从掌管它终端的那个程序推断出来的：在 pane 输出或改标题时才去看，而不是定时轮询，而且变化要保持半秒才算数 —— 一闪而过的命令不会让图标跟着闪。启动器和解释器会被看穿：`sudo vim` 显示 Vim，Python 或 Node 跑的脚本先按脚本名来认，认不出才退回解释器本身。ThinkTerm Connect 服务端上的 pane 由那台服务端观察，再报告给每个客户端，所以远程标签显示的图标和本地的一样。

走普通 SSH 时，本地掌管终端的程序就是 `ssh` 自己，标签只能显示 SSH 图标。普通 SSH 主机设置里的 `识别远端程序` 让远端 shell 自己报告正在运行什么：下次连接时，ThinkTerm 在那台主机的 bash 或 zsh 启动文件里加一行；关掉它，再下一次连接时删掉那一行。其他登录 shell 会被报告为不支持，什么都不改动。

那一行做的事，是在每条命令执行前把 `WEZTERM_PROG` 用户变量设为这条命令行，回到提示符时再清空。所以它没覆盖到的 shell，比如 fish，只要照样这么做，也能报告自己运行的程序。这个报告只在终端位于另一台机器上时才算数；对本地程序，以 ThinkTerm 自己看到的为准。

这些图标始终开着。`设置 › 标签图标` 把图标本身排成一格格可搜索的卡片。一张卡片列出它认领的程序名，它的形状和颜色都可以改：选一个 SVG，或者把 `.svg` 文件拖到卡片上，再设置底色和图案颜色。导入的 SVG 最大 256 KB；ThinkTerm 会在 `~/.config/thinkterm/tab-icons/` 里存一份副本，以它的哈希命名，所以移动或删除原文件不会丢掉图标。内置卡片可以重置回出厂的样子；自己的卡片最多 64 张，可以新建和删除。一个程序名同一时刻只属于一张卡片，所以把它加到某张卡片上，就会把它从原来那张上拿走。终端卡片是固定的，不出现在这里。在浏览器里打开的终端显示同样的图标，取自提供该页面的那台机器上设置的卡片；见 [网页访问](https://docs.closex.org/zh/thinkterm/web.md)。

![设置 › 标签图标：程序图标网格，右侧正在编辑 Claude 卡片](https://docs.closex.org/img/thinkterm/thinkterm_tab_icons.webp)

## 侧边栏里的图标与状态

Thread 的行会显示它的 pane 正在运行的程序，用的是和 pane 标签相同的卡片，所以在 `设置 › 标签图标` 里改了某个图标，这里也跟着变。Agent 排在最前，其他程序随后，普通的终端标记排最后；几个 pane 运行同一个程序，只出现一次。行的最右端有一个小标记，表示这个 Thread 在做什么。命令面板里的 `查找线程` 每一行也这样画这两样东西，标记会随着 Thread 工作而动。

`设置 › 外观 › 图标与状态` 有三行：

| 行 | 选项 | 作用 |
|---|---|---|
| `会话图标样式` | `角标`（默认）、`硬币横叠`、`群聊头像`、`放右边` | 几个程序怎么共用一行。`角标` 显示第一个程序的图标，第二个小小地挂在它的角上；更多时则显示还有几个。`硬币横叠` 显示第一个，其余叠在它后面，只露出边缘。`群聊头像` 把每个程序都画小一点，一起挤在同一个位置。`放右边` 把图标并排放在行尾、状态标记之前。除了 `放右边`，其他样式都把图标放在同样宽的位置里，所以名字是对齐的 |
| `侧栏状态样式` | `进度环`、`心跳`、`像素格`（默认）、`三个点` | Thread 行末尾的标记。`进度环` 是侧边栏一直以来的转圈和圆点。`心跳` 在工作时画一道心跳曲线，其余时候是一条平线。`像素格` 是三乘三的像素格。`三个点` 在工作时三个点轮流升起，其余时候只有一个点 |
| `Agents 状态样式` | 同样四种，默认 `像素格` | `状态` 面板和悬停卡片的同一个选择，它们有自己的设置。`进度环` 保留 [Agent 状态](https://docs.closex.org/zh/thinkterm/agents.md) 里描述的那些图标 |

不管选哪种，标记表达的意思都一样：在工作、在等你、因错误停下、已完成，或者都不是。已完成的结果在每种样式里都是一个对勾。你所在的那个 Thread 在工作或静止时显示为绿色；在等你或出错时保持它自己的颜色。

## WezTerm 的标签栏

ThinkTerm 自己的那排标签属于窗口，配置既不能移动它也不能去掉它；它是留在原位还是自动隐藏，由 `设置 › 外观 › 一级标签栏` 决定，见 [窗口标签与 pane 标签](#窗口标签与-pane-标签)。WezTerm 的标签栏选项 —— `enable_tab_bar`、`use_fancy_tab_bar`、`tab_bar_at_bottom`、`hide_tab_bar_if_only_one_tab` 等等 —— 改为驱动终端区域里另一条一行高的栏，位于 pane 标签之下，或者沿着底边。

`use_fancy_tab_bar = false` 时，这条栏显示 WezTerm 的复古式标签，`format-tab-title` 和标签栏配色都作用在它上面。保持默认的 fancy 标签栏时，它在设置状态文字之前不会出现，比如用 `window:set_right_status`；一旦出现就一直占着这一行，所以时有时无的状态文字不会反复改变终端大小。`enable_tab_bar = false` 则把它彻底去掉。

## Live Overview

标签栏没法告诉你十几个会话里哪个正在动，Live Overview 可以：它把每个活着的 Thread 摆成一张卡片，按所属 Space 分组，最多五列。

每张卡片显示那个终端此刻的样子，上方浮着一枚胶囊，写着 Thread 的名字和正在运行的命令。胶囊上还为 Thread 工作区里的每个标签各点一个点，跨越它的所有窗口：标签里有命令在运行时是蓝色，卡片上次显示它之后有新输出时更亮，空闲时偏淡，卡片当前显示的那个标签最大。把指针停在某个点上，卡片就预览那个标签；点一下，就在那个标签上打开这个 Thread。超过六个标签时，点会折叠成三个加一个计数，指针在上面停一会儿就会展开。

当前离线的机器仍然留在网格里，而不是从中消失，所以笔记本睡过去时，一个 Space 不会整个空掉。

如果那里还有东西在运行，关闭一张卡片会先询问，因为这会结束那个终端里的每一个分屏和正在运行的程序。

## 两套颜色

ThinkTerm 画两套调色板，分清哪套是哪套是值得的。

程序用来画字的那套是终端的：WezTerm 的 `colors` 和 `color_scheme`，文档在上游。ThinkTerm 多加了一种在配置文件之外选配色方案的办法，以及一个跟浅色界面配套的默认值，两者都可能挡在配置文件前面。

`设置 › 外观 › 当前配色方案` 显示终端当前用的配色方案。点它会在一个终端窗口里打开命令面板的 `更换主题` 列表，你在列表里移动时终端会跟着重画。在这里选的方案，或者直接在命令面板的 `更换主题` 里选的，会存进 `settings.json`，作用于所有窗口，并且压过配置文件里的 `color_scheme` —— 于是改那一行看起来毫无作用，直到你选同一列表最上面的 `使用配置默认值`，把选择交回给文件。配置文件里的 `colors` 仍然叠加在当前生效的方案之上。

什么都没选时，浅色界面会把终端画成 `Apple System Colors (Light)`，除非配置文件自己指定了方案或设置了 `colors`，这样浅色窗口里就不会出现为黑底挑选的文字颜色。深色界面则交给配置文件决定。

ThinkTerm 画在终端周围的那套是自己的 —— 侧边栏、标签栏、每个 pane 上方的条、设置窗口、菜单 —— `ui_colors` 可以逐项覆盖它们，可用的项列在 [配置](https://docs.closex.org/zh/thinkterm/configuration.md#界面颜色) 里。`设置 › 外观 › 主题模式` 提供四种模式：跟随系统、浅色、深色（默认），以及 `跟随终端配色`，后者把整个界面挪到终端当前配色方案的背景上。在 `跟随终端配色` 下不会替你选方案：那里是方案决定界面，而不是反过来。

终端文字可以被要求与背景之间保持最低对比度，这样把深灰画在黑底上的配色仍然读得清。`设置 › 终端 › 最低文字对比度` 提供 3:1、4.5:1 和 7:1，默认关闭，因为提高对比度也会把程序有意调暗的东西拉平 —— 禁用的菜单项、进度条未填满的那一半、注释。关闭时由 WezTerm 自己的 `text_min_contrast_ratio` 选项决定，它在你于配置文件里设置之前是空的；在设置里选了比例的话，以设置为准。

## 界面字号

ThinkTerm 自己的文字与终端文字分开设定大小。`设置 › 外观 › 字体排版` 为六个位置各提供一个步进器，范围 10 到 28，上方有一幅窗口小图，会点亮某一行所作用的部分：

| 设置 | 作用于 |
|---|---|
| `设置界面字号` | 设置窗口 |
| `主页字号` | 主页和主内容区 |
| `右侧栏字号` | 文件、笔记和片段；未设置时跟随 `主页字号` |
| `工作区侧栏字号` | 左边的侧边栏 |
| `标签栏字号` | 顶部的窗口标签 |
| `窗格标题字号` | 各条 pane 标签 |

`设置界面字重` 决定设置窗口文字的粗细，从 300 到 800，每档 100。每一行都可以单独重置。终端的字体和字号在 `设置 › 终端` 和配置文件里 —— 见 [配置](https://docs.closex.org/zh/thinkterm/configuration.md#设置与配置文件重叠的地方)。

## 应用图标

`设置 › 外观 › 应用图标` 在 `蓝色药丸`（默认）、`红色药丸`、`经典` 和 `水獭` 之间切换运行中的应用在程序坞和应用切换器里显示的图标。仅在 macOS 上有效。

## 程序坞图标数字 {#dock-icon-count}

在 macOS 上，ThinkTerm 的程序坞图标可以带一个数字：有几个 Thread 里有你还没看的东西。它数的是侧边栏通知铃铛列出的那些 Thread，一个也没有时什么都不显示。`设置 › 工作区 › Dock 图标数字` 开关它，默认开启。它下面的 `完成`、`等你`、`出错` 选择哪些情形算数，默认三个都算。同一张卡片里的提示音和系统通知有同样的选择，详见 [Agent 状态](https://docs.closex.org/zh/thinkterm/agents.md)。

## 窗口透明度

`设置 › 外观 › 窗口透明度` 带 Beta 标记，让窗口变得半透明。它是一个从 30% 到 100% 的滑块，每档 5%，最右边是不透明，拖动时所有窗口都会跟着变。各个区域画得多深，见 [为各个区域着色](#为各个区域着色)。没动过它时显示 `默认`，意思是由配置文件里的 `window_background_opacity` 决定；`恢复默认` 把选择交回给文件。

在 macOS 上，半透明的窗口还会加上半径为 20 的背景模糊，除非配置文件自己把 `macos_window_background_blur` 设成了非零值；设成 `0` 等同于没设。这个滑块在 Linux 上是灰的，设置里也注明它在 Windows 上还不够稳定，那里的 `win32_system_backdrop` 仍由配置文件决定。这个选择在没有配置文件时同样生效；其他重叠的项见 [配置](https://docs.closex.org/zh/thinkterm/configuration.md#设置与配置文件重叠的地方)。

在 Windows 11 上，半透明的窗口和 macOS 一样自带毛玻璃：系统的亚克力，画在整个窗口后面。窗口是在创建时拿到它的，所以变成半透明或变回来，要等 ThinkTerm 重启后才显示，滑块一动设置就会这么说。它需要 OpenGL 渲染器。

### macOS 的玻璃效果

在 macOS 上，`设置 › 外观 › 玻璃效果` 选择半透明窗口背后显示什么：`模糊`（默认），即上面说的背景模糊；`磨砂`，即铺在整个窗口后面的系统磨砂材质；只有 macOS 26 及更高版本还能选 `液态玻璃` 和 `通透玻璃`。选了立刻生效。更早的 macOS 上可以选 `模糊` 和 `磨砂`。通透玻璃叠在模糊上的 `通透+模糊` 已经不再提供，以它保存的设置会读作 `磨砂`。

### 为各个区域着色

在滑块能用的所有平台上，滑块旁边还有三行，设置半透明窗口里各个区域有多深：`侧栏颜色`（默认 `深`）、`标签栏颜色` 和 `终端颜色`（默认都是 `浅`）。每行可选 `深`、`中` 或 `浅`。在深色界面里，越深的色调越实，在浅色界面里则越透；选了同一种色调的区域看起来就一样。不透明的窗口保持原样，所以滑块在 100% 以下之前，这几行不会改变任何东西。

## 滚动

回滚按像素移动，而不是按行：触控板或触摸拖动跟着手指走，而不是一次跳一行。`设置 › 终端 › 滚动方式` 在 `平滑`（默认）和 `逐行`（一次移动一整行）之间切换。

每个 pane 在滚动时都会在右缘画出一条细滚动条，随后淡出 —— 不只是当前聚焦的那个。它可以拖动。`设置 › 终端 › 滚动条` 可以关掉它。配置文件里写了 `enable_scroll_bar = true` 时，不管这个开关怎么设，它都会换成 WezTerm 自己的滚动条，即当前聚焦 pane 旁边的一条边栏。

## 复制与粘贴

`设置 › 终端 › 鼠标与剪贴板` 有五行：

| 行 | 选项 | 作用 |
|---|---|---|
| `选中样式` | `圆角`（默认）、`直角` | `圆角` 把选中的几行连成一整块；`直角` 每行一个方块 |
| `选中时自动复制` | 开（默认）、关 | 开着时，选中的文字直接放进剪贴板。关掉后，选中只是选中：用复制快捷键或右键来复制 |
| `右键` | `弹出菜单`（默认）、`粘贴`、`复制或粘贴` | 在终端里点右键做什么。`复制或粘贴`：有选中时复制并放开选中，没有时粘贴 |
| `复制粘贴效果` | `关`（默认）、`白光`、`彩光` | 复制或粘贴时，两道光沿着那段文字的上下两边，从你开始选的那一头跑到另一头，看得出复制了什么、粘到了哪里 |
| `焦点跟随鼠标` | 关（默认）、开 | 开着时，鼠标下面的 pane 不用点击就拿到焦点。按着按键拖动时不切换，别的应用在最前面时也不切换 |

关掉 `选中时自动复制` 后，Linux 上仍然会把选中的内容交给主选区，也就是鼠标中键粘贴的来源。

不管 `右键` 设成什么，右键时按住 Ctrl（macOS 上是 Control）都会弹出 [窗口标签与 pane 标签](#窗口标签与-pane-标签) 里讲的菜单。里面的程序捕获了鼠标时，和打开菜单本身一样要再按住 Shift。配置文件里接管了右键按下的 `mouse_bindings` 条目，仍然先于这一切接管整次点击。

## 底部语录

`设置 › 终端 › 底部语录` 在终端区域右下角显示一行短文字，默认关闭。它不占终端的地方：只画在最后一整行下面剩出的空隙里；如果空隙太窄 —— 窗口高度刚好是整数行 —— 就什么都不显示。`语录字号` 改变它的大小，而不改变终端的布局。另一台设备正在使用的终端，会在同一个角落显示一条可以接管它的提示（见 [远程](https://docs.closex.org/zh/thinkterm/remote.md#在多台设备之间移动)）；这条提示在屏幕上时，语录不会绘制。

语录来自 `~/.config/thinkterm/bottom_quotes.json`，是一组对象，每个有 `text`，`author` 可选：

```json
[
  { "text": "Ship the small version first.", "author": "A colleague" },
  { "text": "Read the error message." }
]
```

第一次要显示语录时，这个文件会带着一份初始列表被创建出来，`语录文件 › 打开` 可以打开它。文件保存后，改动就会被读到。`语录轮换` 选 `顺序` 就按列表顺序走，选 `随机` 就随机挑一条；`语录间隔` 决定多久换一次，从 1 分钟到 24 小时，默认一小时。轮换跟着时钟走，所以每个窗口显示的都是同一条。`重置语录 JSON` 用出厂列表覆盖这个文件，要按第二下才生效，因为你写在里面的内容会丢失。

## 终端里的图片

程序可以用 Kitty 图形协议、iTerm2 的内联图片或 Sixel 在终端里画图，和在 WezTerm 里一样。

终端也保存 Kitty 协议里较新的部分 —— Unicode 占位符、相对于其他图片放置的图片，以及动画 —— 但桌面窗口目前还不画这些。在浏览器里打开的终端会画；见 [网页访问](https://docs.closex.org/zh/thinkterm/web.md)。反过来，浏览器不显示通过 iTerm2 协议发送的 PNG 或 JPEG。

每个 pane 最多保留 128 MiB 的 Kitty 图片数据，由 `kitty_image_memory_budget_mib` 设定，`0` 表示不限。超出时，先丢不在屏幕上的图片，从最旧的开始；如果光是屏幕上的就已超出，最久没放置过的也会从屏幕上拿掉，但最新的那张不会。单个动画最多保留 256 MiB，预算更小则以预算为准。

## 录屏遮挡

录屏或共享屏幕时，录屏遮挡用一块不透明的矩形盖住终端的一部分。在终端上右键，选 `编辑录屏遮挡…` —— 如果里面的程序捕获了鼠标，右键时按住 Shift；`右键` 没有设成 `弹出菜单` 时，还要再按住 Ctrl（macOS 上是 Control）。拖动空白处画出一块遮挡，拖动遮挡块移动它，拖动选中遮挡的任意一条边或一个角调整大小。方向键让选中的遮挡微微移动一点，按住 Shift 则是十倍的距离；Backspace 删除它。macOS 上按 ⌘Z、其他平台按 Ctrl+Z 撤销上一步编辑，编辑期间最多可以撤销 100 步。`完成`、Esc 或回车键让终端回到正常输入；同一个菜单里的 `清除录屏遮挡` 把它们全部去掉。

每块遮挡有自己的颜色，在浮在 pane 上方的工具条里选。工具条只有一行，左边有一个把手，可以拖到别处。十个色块依次是 `跟随终端背景`、黑色、一种灰色、一种灰白色，以及红、橙、黄、绿、蓝、紫。第一个跟随 pane 自己的背景，所以盖在提示符上的遮挡在切换主题时仍然看不出来。`从终端里取色` 取你接着点的那一格的底色，按 Esc 放下它。选的颜色作用于选中的遮挡，也作用于之后画的遮挡；不管什么颜色，遮挡始终不透明。色块旁边是 `删除选中`、`全部清除` 和 `完成（Esc）`。

遮挡属于某一个 pane，最多 64 块，并且固定在 pane 内的位置上：文字滚动时它们不跟着走，所以滚动或重新排布窗口之后，请检查一下录制画面。它们会随 pane 在窗口之间移动，也会出现在它的 Live Overview 卡片上。它们只存在于这一个 ThinkTerm 里 —— 接入同一会话的其他客户端收不到 —— pane 关闭或 ThinkTerm 退出时就没了。

遮挡盖住的是画面，不是内容。下面的文字仍然在终端里，在你复制出来的内容里，在日志里，也在接入同一会话的其他每个客户端上。

## 分享终端 {#sharing-a-terminal}

分享让同一台机器上的其他账户实时观看你的某个终端。它默认关闭，设置里把它称为测试中的功能：以后可能移除，也可能有安全风险。`设置 › 共享与同步 › 分享终端` 打开它。关掉它会停止你正在进行的所有分享；如果某个分享在一台连不上的服务器上，它在那边继续运行，等服务器连得上了再停，ThinkTerm 会告诉你这件事。

打开之后，运行在会话 server 上的终端 —— [后台会话 server](https://docs.closex.org/zh/thinkterm/remote.md#本地会话放进会话-server) 或 ThinkTerm Connect 主机 —— 上方的标签条里会有一个分享按钮 `分享这个终端`。背后没有 server 的终端没有这个按钮；在 Windows 上，分享只用于 Linux 或 Mac 服务器上的终端。按钮打开一个面板，你在其中从那台机器的账户或组里选出谁可以看，选分享自动停止的时间，`15 分钟` 或 `30 分钟`，然后按 `开始分享`。

你选的人能实时看到这个终端，但不能打字。想打字要先申请，面板里会出现 `<名字> 想往这个终端里打字`，带着 `拒绝` 和 `同意 30 分钟`。你同意之后，对方能打字 30 分钟，`收回` 可以随时结束。面板里还列出正在看的人（`正在看（2）`），每个人旁边有 `移出`，另有 `停止分享`。

别人分享给你的终端，列在侧边栏下方的 `分享给我` 里。点一行，共享的终端就在新标签里打开。那个 pane 标签条里的按钮用来申请打字：`申请接管`，然后是 `已申请 · 撤回`，被同意后是 `已接管 · 交还`。运行着另一个版本 ThinkTerm 的账户显示为 `<所有者> · 版本不同`：在版本一致之前，它分享的东西看不了。在终端里，`thinkterm cli share` 列出和停止分享、管理观看的人，`share watch` 显示别人分享给你的那个；见 [命令行](https://docs.closex.org/zh/thinkterm/cli.md)。

## 右侧面板

终端右边的面板装着文件、笔记和片段，详见 [文件与笔记](https://docs.closex.org/zh/thinkterm/files-and-notes.md)，以及 [Agent 状态](https://docs.closex.org/zh/thinkterm/agents.md) 里讲的 `状态` 面板。安装的插件可以在这些之后加上自己的面板 —— 见 [插件](https://docs.closex.org/zh/thinkterm/plugins.md)。片段本身就是一个内置插件。

`设置 › 侧栏与插件` 逐个开关这些面板，并列出已安装的插件。所有面板都关掉时，右侧栏本身就消失了。

右侧栏上次开着，新窗口和下次启动时也开着。这由 `设置 › 侧栏与插件 › 记住右侧栏的开关状态` 控制，默认开启；关掉它，每次都收起。

右侧栏收起后，也能像左边那样叫回来：把指针停在窗口右缘，或者停在它的按钮上，它就盖在终端上方滑出来，不改变终端大小。

## 更新提示

已知有新版本时，终端区域的右下角会浮着一枚胶囊，写着版本号。点一下就安装更新，并显示进度，装完后提供重启；详情见 [更新](https://docs.closex.org/zh/thinkterm/updates.md#the-update-capsule)。它会避开菜单、命令面板和对话框，也避开滑出来盖在这个角上的右侧栏；开着 [底部语录](#底部语录) 时，它位于语录行之上。

## 窗口在哪里打开

`设置 › 通用 › 恢复主窗口位置与大小` 会让主窗口按你上次离开时的大小和位置重新打开，macOS 和 Windows 上都有效。

## 渲染器

`设置 › 通用 › 渲染器` 在 WebGPU 和 OpenGL 之间选择，终端窗口和设置窗口都用它。改动在 ThinkTerm 重启后生效。没有选过时，渲染器跟随配置文件里的 `front_end`，默认是 WebGPU，Windows 上是 OpenGL；见 [配置](https://docs.closex.org/zh/thinkterm/configuration.md#渲染器)。

如果渲染器在这台机器上起不来 —— 对 WebGPU 来说，是没有可用的 Metal、DirectX 12 或 Vulkan 适配器 —— 窗口会改用另一个打开，所以选了一个在这台机器上不能用的渲染器，也不会把你锁在设置窗口之外、没法改回来。只有两个都起不来时，窗口才打不开。

## 相关

- [Space、Project 与 Thread](https://docs.closex.org/zh/thinkterm/spaces.md) —— 侧边栏装的工作区，以及它的菜单
- [快捷键与命令](https://docs.closex.org/zh/thinkterm/keyboard.md) —— 快捷键和命令面板，`更换主题` 是其中一组
- [Agent 状态](https://docs.closex.org/zh/thinkterm/agents.md) —— 每个 Thread 带的那个状态，以及 `状态` 面板
- [文件与笔记](https://docs.closex.org/zh/thinkterm/files-and-notes.md) —— 右侧面板里装的是什么
- [插件](https://docs.closex.org/zh/thinkterm/plugins.md) —— 已安装插件加上的面板
- [远程](https://docs.closex.org/zh/thinkterm/remote.md) —— SSH 主机和 ThinkTerm Connect，远程标签图标从哪里来
- [网页访问](https://docs.closex.org/zh/thinkterm/web.md) —— 在浏览器里用同样的终端，以及 `Frontend access`
- [更新](https://docs.closex.org/zh/thinkterm/updates.md) —— 提供新版本的胶囊
- [配置](https://docs.closex.org/zh/thinkterm/configuration.md) —— `ui_colors`、`text_min_contrast_ratio`，以及设置窗口写到哪里
