个性化

外观与主题

主题选择与亮暗跟随、候选窗口与提示信息、状态与工具栏设置,以及自定义主题与应用兼容性规则

在设置工具的「外观」页自定义候选窗与工具栏的视觉呈现。所有修改即时生效。

配置项参考

本页讲外观功能怎么用。每项对应的配置键、取值范围与默认值集中在外观配置

主题

选项说明
主题选择候选窗与工具栏的主题样式(下拉显示主题名)
主题风格亮色、暗色或跟随系统
翻页栏显示覆盖主题配置中翻页栏的显示方式
显示页码翻页栏可见时是否显示页码文字

内置五个主题,均可作为自定义的模板起点:

  • 清风·蓝default)——默认主题,清风设计体系,主色现代蓝
  • 清风·绿jade)——祖母绿色调
  • 清风·橙amber)——暖金橙色调
  • 清风·紫violet)——薰衣草紫色调
  • 微软风格msime)——微软蓝主色,紧凑布局,文字序号,左侧强调条

主题风格可选跟随 Windows 亮暗模式、始终亮色、始终暗色。

翻页栏

翻页栏包含翻页箭头与页码,可独立于主题配置进行覆盖,四种显示方式:

方式说明
跟随主题默认,由当前主题决定
隐藏整个翻页栏(含箭头)不渲染
自动仅当候选超过一页时显示
始终显示始终显示翻页栏,包括只有一页时

页码文字可单独设为显示、隐藏,或留空跟随主题。

候选窗口

选项说明
候选字号跟随主题开启后候选字号由主题决定;关闭可在下方自定义
候选字号候选词字体大小;开启「跟随主题」时不可用
候选窗字体自定义候选窗字体,留空跟随主题字体
每页候选数每页显示的候选词数量
扩展档每页候选数临拼/快捷/短语等场景单独的每页候选数;关闭分档时与上面相同
隐藏候选窗盲打/自动上屏场景不显示候选窗口;隐藏后仍可输入
编码显示方式编码(组合区)的显示位置,见下
候选窗排列候选词横排或竖排
候选窗在上方时反转顺序候选窗显示在光标上方时,反转候选项的排列顺序(使第一候选靠近光标);可与「编码栏置底」叠加
候选窗在上方时编码栏置底候选窗显示在光标上方时,将编码栏与候选栏上下调换,使编码栏沉到底部贴近光标
翻页栏并入编码栏翻页栏右对齐显示在编码栏行(竖排可省一行);仅「编码显示方式」为候选窗顶部独立栏时生效
候选文本最大字数候选文本超过此字数时截断并追加省略号
自定义序号标签为候选序号自定义标签字符(如 asdfg);留空用默认 1–9
命令栏候选前缀命令候选前的提示符号

编码显示方式

编码栏(组合区)有三种显示位置:

方式说明
内嵌应用编码内嵌应用光标处,候选窗不显示编码栏
候选窗顶部编码显示在候选窗上方的独立栏
候选窗内联编码嵌入候选窗第一个单元格前

候选项提示信息

鼠标悬停在候选上时弹出的提示框,可分项开关。

选项说明
悬停延时鼠标停留多久后弹出提示框;越大越不易误触
编码反查悬停候选时在主码表中反查该词的标准编码并显示
拼音反查悬停候选词时显示拼音读音
显示多音字所有读音关闭则仅显示首音
拆字反查悬停候选词时显示字根拆字信息(需方案支持)
调试信息悬停候选词时显示编码来源、权重等调试元数据

状态提示

状态提示是切换输入状态时在光标处闪现的小气泡。纯视觉样式(颜色/字号/透明度/圆角)由主题决定,此处只调整行为与位置。

选项说明
启用状态提示气泡切换输入状态时显示提示气泡
显示模式临时闪现后自动消失,或有输入焦点时始终显示
焦点切换时显示切换到别的输入框时也提示一次当前状态
显示时长临时显示模式下气泡停留时间
方案名显示样式全名或图标短称(取方案图标短称,无则回退全名)
定位方式跟随光标或固定在自定义位置

「常驻显示」「焦点切换时显示」「固定位置」这三项也可以右键状态气泡直接勾选,不必打开设置。

焦点切换时显示:换个输入框就提示一次

默认情况下,气泡只在你主动切换中英文、标点、全半角时才闪一下。开启这一项后,切换到另一个输入框时也会提示一次——用来回答「我现在切过来的这个框,输入法是什么状态」,省去先敲一个字试出来。

由于常驻显示本来就在获焦时显示,这一项只在「临时显示」模式下有意义。

跟随光标定位时,某些应用要等你输入第一个字之后才会告诉输入法光标的准确位置。为避免气泡飘到错误的地方,这种情况下不显示。若你常用的应用总是不显示又确实需要,把定位方式改成「固定位置」即可——固定位置不依赖光标。

定位方式与偏移、固定坐标在「扩展设置」对话框中调整:

选项说明
跟随光标气泡跟随光标
固定位置气泡固定在屏幕坐标
水平偏移相对光标下方居中的水平偏移(正=右)
垂直偏移相对光标下方的垂直偏移(正=下)
固定位置 X / Y固定定位时气泡的屏幕坐标

模式指示

进入临拼/双拼/快符/英文等模式时的标识,三种样式:

样式说明
短称显示 拼/双/快/英/符 等短称
全称显示完整模式名
不显示不显示模式标识

工具栏

选项说明
显示工具栏在屏幕上显示可拖动的输入法状态栏
全屏时隐藏工具栏当前台应用进入全屏(游戏、视频、演示等)时自动隐藏工具栏
自动隐藏工具栏工具栏显示一段时间无交互后淡出隐藏;鼠标悬停不隐藏,切换中英等状态变化时重新显示
自动隐藏延时工具栏显示多久后开始淡出

工具栏可通过快捷键 Ctrl + Shift + \ 切换显示/隐藏。

获取更多主题

  • 导入 TOML 主题——选择本地 .toml 主题文件导入,成功后即可在「主题选择」中使用
  • 打开主题市场——前往 market.windinput.com 挑选现成主题
  • 主题编辑器直连——开启后,Web 版主题编辑器可直接读写本机主题,边改边看效果。服务仅监听本机回环地址,不对外网开放;分「关闭 / 本次开启 / 自动开启」三档,开启后可复制本地连接地址到编辑器

自定义主题

将主题文件放入 %APPDATA%\WindInput\themes\<主题名>\theme.toml,即可在「外观」页的「主题选择」中出现。若主题名与内置主题相同(如 default),你这份会整份替换内置的那个,见同结构覆盖机制

主题文件为 TOML 格式

主题文件为 TOML 格式(v3)theme.toml)。最省事的做法是继承一个内置主题,只覆盖需要改动的部分;复杂的几何与配色建议直接用主题编辑器可视化制作。

快速上手:继承内置主题

声明 base 并只写要改的颜色,其余从内置主题继承:

base = "default"

[meta]
name = "我的蓝色主题"

[colors]
primary = "#0066CC"     # 只改主色,其余外观沿用 default

主题文件结构

主题由若干顶层块组成,均可选,未写的部分从被继承主题回退:

说明
base继承的内置主题名(default / msime 或内置基础主题 _base / _qingfeng
[meta]元信息:name(必填)、versionauthor
[colors]颜色 token 表(扁平),语义色的唯一来源,[views] 通过 ${token} 引用
[resources]图片资源引用(可选,支持亮暗分设)
[views]几何与布局(候选窗 / 工具栏 / 菜单的盒模型)
[behavior]主题推荐的行为默认(见下)

[colors] 块是所有颜色的唯一来源:

  • 亮暗分设:值写成 { light = "...", dark = "..." } 表示亮暗不同颜色;写成单个字符串则亮暗共用;只写一侧时另一侧自动回退
  • token 引用"${tokenName}" 引用同表中另一个 token 的值
  • 颜色格式"#RGB" / "#RRGGBB" / "#RRGGBBAA"(支持 alpha 透明度)/ "transparent"

[behavior] 中的值是主题给用户的推荐默认,用户可在「外观」页单独覆盖,覆盖跨主题切换保持:

字段类型说明
font_sizenumber候选字号基准(pt)
always_show_pagerbool始终显示翻页栏(即使只有一页)
hide_pagerbool隐藏整个翻页栏(含箭头)
show_page_numberbool显示页码文字
pager_alignstring独立翻页栏行的水平对齐(left / center / right,默认 center);仅竖排独立翻页栏生效,翻页栏并入编码栏时固定右对齐
vertical_max_widthnumber竖排模式最大宽度(像素)

[views] 按具名节点描述各窗口的盒模型(内外边距、边框、圆角、背景、字体、阴影等),字段较多且随版本演进。制作或调整几何时,建议直接以内置主题文件为模板,或用主题编辑器可视化编辑,避免逐字段手写出错。内置主题文件位于安装目录下的 data\themes\ 文件夹。

应用兼容性主题规则

兼容性规则用于修复特定应用中候选框定位、光标获取等问题。规则文件为 TOML 的 [[apps]] 数组表,加载顺序为系统预置<安装目录>\data\compat.toml)→ 用户覆盖%APPDATA%\WindInput\compat.toml),用户层同进程名规则覆盖系统层。

[[apps]]
process = "Weixin.exe"        # 进程名(不区分大小写)
comment = "微信 - 使用 rect.top 定位候选框"
caret_use_top = true          # 使用 caret rect 的 top 而非 bottom 定位候选框

[[apps]]
process = "Everything.exe"
comment = "文件搜索框,默认英文"
initial_mode = "english"      # 进入该应用时初始为英文,之后仍可手动切换
字段类型说明
processstring进程名,不区分大小写,如 Notepad.exe
commentstring备注说明,仅用于文档与可读性
caret_use_topbool使用 caret rect 的 top 而非 bottom 定位候选框
first_show_modestring候选框首显策略:wait(默认)/ fast / instant
initial_modestring进入该应用时的初始中英状态:english / chinese;不写=跟随全局
initial_punctstring进入该应用时的初始中英标点,取值同上;不写=跟随全局
host_renderbool候选窗改由服务进程渲染后经共享内存转交宿主内的 DLL 上屏,默认 false。见下方说明

caret_use_top 适用于 GetTextExt 返回的 height 不稳定的 WebView 应用(如微信的 Qt WebView 输入框,height 在 1↔20px 间跳变导致 bottom 漂移,但 top 始终稳定)。清风输入法已内置微信的兼容性规则,会自动修正候选框定位。如果其他应用也有类似问题,可在用户 compat.toml 中添加规则;修改后通过托盘菜单的重载配置即可生效。

宿主代理渲染 host_render 0.113 新增

少数宿主运行在受限容器中、或其窗口层级(Band)盖过一切普通窗口,输入法自绘的候选窗被压在下面看不见——Win11 开始菜单 / 任务栏搜索的 SearchHost.exe 就是这样。host_render = true 让候选窗改由服务进程渲染成位图,经共享内存交给宿主进程内的输入法 DLL 上屏。

SearchHost.exe 已内置为系统预置条目,无需自行添加。普通应用不要开:它多绕一层渲染路径,出问题时本地窗口路径更好排查。

0.113 起从 config.toml 迁到这里

这份白名单在 0.112 及以前是 config.tomlcompat.host_render_processes(字符串数组)。0.113 起 [compat] 顶级域整体移除,改为本表的 host_render 布尔字段,与其余按进程名匹配的规则同库。旧键写在 config.toml 里不再有任何效果。

host_render 手改后需重启输入法服务才生效——托盘的「重载配置」只刷新那些能即时套用的规则,不重建渲染通道。

应用独立的初始输入状态

initial_modeinitial_punct 让特定应用在获得焦点时自动切到指定状态,适合文件搜索框、终端、代码编辑器这类主要输入英文的场景。

最快的设置方式是不改文件:在目标应用里右键点击输入法图标 → 应用独立配置初始输入模式 → 选择「英文」。菜单会把等效规则写入用户层 compat.toml 并立即生效。子菜单第一行是当前焦点应用的进程名(灰色,仅作展示,点不动),下面依次是三项规则:

子菜单项对应字段可选
初始输入模式initial_mode跟随全局(默认)/ 英文 / 中文
初始标点模式initial_punct跟随全局(默认)/ 英文 / 中文
候选窗首显first_show_mode等待精确坐标(默认)/ 快速显示 / 立即显示

选择「跟随全局」即清除该应用在这一维度上的规则。

这是「初始值」而不是「锁定」

  • 每次焦点从别的应用切进来时套用一次。停留在该应用期间可以随时手动切换中英文,同一应用内换输入框(例如搜索框与结果列表之间)不会重新套用。
  • 焦点离开规则应用后,下一个应用会重新按全局规则决定自己的状态。在出厂默认设置下(input.default.state_scope = "global"remember_last_state = false),这意味着它回到 input.default.chinese_mode 这个默认值,而不是它自己上次的状态。若希望每个应用各自精确记住上次状态,请另行设置 input.default.state_scope = "app",两者可以叠加。
  • 没有配置任何 initial_* 规则的两个应用之间切换,输入状态一律保持不变,不受本功能影响。

本页目录