msime-skins
水杉输入法(Metasequoia IME)的外部皮肤合集。
皮肤列表
| 目录 | 名称 | 说明 |
|---|---|---|
niya-demo |
Niya Demo | 官方外部皮肤样例:候选框上方的人物装饰图、星点背景图、12dip 圆角,以及配套的悬浮工具栏配色 |
bigfish |
蓝色大肥鱼 | 鲸鱼女仆角色装饰、海底气泡背景,深海蓝配色搭配金色序号 |
bigfish-national-day |
大肥鱼·国庆 | 红裙敬礼的大肥鱼站在卡片右上方、金色星星背景,中国红高亮搭配金色序号 |
bigfish-peek |
大肥鱼·探头 | 黑白女仆装的大肥鱼从卡片上沿探出头、气泡与蕾丝背景,深蓝底色搭配浅蓝高亮 |
qq-blue |
QQ 经典蓝 | 腾讯 QQ 配色:亮蓝光标与序号,深蓝选中块 |
sogou |
搜狗经典 | 搜狗经典配色:白底、蓝色候选、橙红高亮、红色光标 |
sogou-classic |
搜狗经典·石墨 | 基于石墨,仿经典搜狗:白底浅蓝边框、蓝字候选、首选红字不铺底色、拼音下方浅蓝分隔线 |
wechat_glass |
微信玻璃 | 移植自 rime-wechat-glass 的微信绿配色与紧凑几何,磨砂玻璃用自绘噪点底图近似 |
除 sogou-classic 基于 graphite 外,其余皮肤均基于 fluent;全部支持横排 / 竖排布局以及深色 / 浅色主题。
默认皮肤设置(default/)
default/ 不是外部皮肤,而是六个内置皮肤(fluent、wechat、graphite、willow_green、autumn_osmanthus、microsoft)各自的设置清单。安装包会把它们放到数据目录的 skins\default\<id>\skin.toml,升级时只补缺失的文件、不覆盖已有的,所以可以直接在那里改。
内置皮肤的外观仍由输入法内置样式决定,这份清单只承载皮肤级的开关,目前支持:
| 表 / 键 | 说明 |
|---|---|
schema_version / id / name |
id 必须与目录名一致 |
[candidate_window] page_arrows |
候选框里是否显示翻页箭头(true / false,出厂与缺省都是 false) |
[candidate_window] fit_content |
候选框是否严格按文字所需的宽度收紧(true / false,出厂与缺省都是 false)。打开后不再垫出厂的最小宽度(D2D 160 DIP、WebView2 7em),同一次输入里后到的翻译等内容消失时宽度也立刻跟着缩回 |
外部皮肤没写的开关沿用它 base 对应的这份清单。改完后在设置页刷新皮肤列表,或重新选择一次皮肤即可生效;设置页「外观」和「皮肤」里的候选框预览会一并显示或隐藏箭头。
安装
除 niya-demo(素材授权未核实)外,这里的皮肤都随安装包装到数据目录的 skins\<id>。用户那边已有同名皮肤且内容和随包的不一样(改过、多了或少了文件)时,安装器先把它改名成 <id>.bak 保留下来(已有 .bak 则用 <id>.2.bak……),再装新版本;输入法不会把 .bak 目录列成皮肤。
手动安装时,把想用的皮肤目录整个复制到:
%LOCALAPPDATA%\metasequoiaime\skins\
例如 %LOCALAPPDATA%\metasequoiaime\skins\qq-blue\skin.toml,然后在输入法设置中选择对应皮肤即可。
皮肤结构
每个皮肤是一个独立目录,至少包含一个 skin.toml,图片等资源放在目录内(如 assets/):
my-skin/
├── skin.toml
└── assets/ # 可选
├── background.png
└── character.png
skin.toml 主要字段:
| 表 / 键 | 说明 |
|---|---|
schema_version |
皮肤格式版本,目前为 1 |
id / name / version / author / description |
基本信息,id 建议与目录名一致 |
base |
继承的内置皮肤,如 fluent;未写的键沿用 base |
[supports] |
layouts(horizontal / vertical)、themes(dark / light) |
[candidate_window] |
min_width_dip、corner_radius_dip(0–32)、border_width_dip(0–4)、item_corner_radius_dip(高亮圆角,0–16)、shadow(none / soft / strong)、font_family(排在用户字体前面)、page_arrows(翻页箭头:横排在候选右侧,竖排在最后一行下方、与序号左对齐;不写时沿用 base 的默认皮肤设置,出厂关闭)、fit_content(卡片严格按文字宽度收紧,min_width_dip 与装饰图宽度仍然生效;不写时沿用 base 的默认皮肤设置,出厂关闭) |
[candidate_window.decoration] |
卡片上方的装饰图:image、top_inset_dip、width_dip、align(left / center / right) |
[candidate_window.background] |
卡片背景图:image、fit(cover / contain / stretch)、opacity(0–1) |
[candidate.dark] / [candidate.light] |
候选配色:accent、selected、hover、surface、border、text、number、translation、show_selected_bar;细分配色 candidate_text、preedit_text、preedit_caret、selected_text、selected_number、selected_translation、translation_pos、translation_separator、selected_translation_pos、selected_translation_separator、selected_bar、preedit_background、preedit_divider |
[candidate.dark.menu] / [candidate.light.menu] |
候选窗右键菜单:background、border、text、hover |
[toolbar] / [toolbar.dark] / [toolbar.light] |
悬浮工具栏:corner_radius_dip,以及 background、border、handle、divider、icon、hover |
[license] |
code、assets、source:代码与素材的授权信息 |
所有颜色键([candidate.*] 里除 show_selected_bar 外的键、[candidate.*.menu] 与 [toolbar.*] 的全部键)都支持十六进制 #RGB、#RGBA、#RRGGBB、#RRGGBBAA,以及 rgb(r, g, b)、rgba(r, g, b, a) 和 transparent。十六进制必须带 #(WebView2 渲染器按 CSS 解析,不带 # 会失效),不透明度在末尾(#RRGGBBAA,不是 #AARRGGBB),例如 rgba(224, 138, 168, 0.28) 与 #e08aa847 等价。图片路径相对于皮肤目录,且不能指向目录之外。完整的带注释示例见 niya-demo/skin.toml。
授权说明
本仓库以 GNU General Public License v3.0 开源。单个皮肤如在 skin.toml 的 [license] 中另有声明,以该声明为准。
niya-demo 中的图片素材授权尚未核实(assets = "UNVERIFIED-DEMO-ONLY"),仅作演示用途,请勿直接用于再分发的皮肤。