@nonamelego/dsh-catppuccin 0.5.7-beta.0 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +108 -9
- package/README.md +101 -8
- package/lib/client.js +1 -1
- package/lib/client.js.map +1 -1
- package/lib/index.js +1 -1
- package/package.json +21 -1
package/README.en.md
CHANGED
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
- [Installation](#installation)
|
|
26
26
|
- [Usage](#usage)
|
|
27
27
|
- [Glassmorphism](#glassmorphism)
|
|
28
|
+
- [Compatibility, permissions and failure bounds](#compatibility-permissions-and-failure-bounds)
|
|
28
29
|
- [Development](#development)
|
|
29
30
|
- [🙋 FAQ](#-faq)
|
|
30
31
|
- [💝 Credits](#-credits)
|
|
@@ -62,9 +63,10 @@ Catppuccin theme automatically.
|
|
|
62
63
|
- 🔧 **Custom token overrides**: override individual colour tokens with `--dsw-* var: value` pairs (e.g. turn comments blue); persisted alongside the selected flavour
|
|
63
64
|
- 🖍️ **Code-block highlight style**: default / italic-comments shiki themes
|
|
64
65
|
- 🌐 Seven UI languages (Chinese / English / Japanese / Korean / Spanish / French / German, follows the system language)
|
|
65
|
-
- 🪟 **Glass skin
|
|
66
|
+
- 🪟 **Glass skin** (Mica mode): frosted glass for the top bar / sidebar / composer / stats line /
|
|
66
67
|
trajectory view / chat bubbles / new-session button, one-click toggle in Settings;
|
|
67
|
-
mica & compatibility modes
|
|
68
|
+
mica & compatibility modes (Compatibility keeps the stock layout and only frosts the composer
|
|
69
|
+
card and floating layers), adjustable blur, frost and backdrop brightness
|
|
68
70
|
(interaction reference: [DSH-Transparent-UI-Plugin](https://github.com/WYH66666666/DSH-Transparent-UI-Plugin))
|
|
69
71
|
- 🌫️ **Glass details**: gradient blur bands at the top/bottom page edges, a floating glass
|
|
70
72
|
rail when the sidebar is collapsed, a solid background in the theme's own base colour —
|
|
@@ -141,9 +143,10 @@ Installing from the repo works the same way: `dsh plugin --profile desktop add h
|
|
|
141
143
|
> `$DSH_HOME/profiles/desktop`, so the command above works for either. This plugin's desktop support
|
|
142
144
|
> targets the **official web + desktop** builds; the community shell's `desktopProfiles` service probe
|
|
143
145
|
> is kept. The official shell's profile process carries **no** dedicated env marker (its
|
|
144
|
-
> `DSH_DESKTOP_NODE_EXECUTABLE` is injected only into its package-install children), so the
|
|
145
|
-
>
|
|
146
|
-
>
|
|
146
|
+
> `DSH_DESKTOP_NODE_EXECUTABLE` is injected only into its package-install children), so the plugin
|
|
147
|
+
> detects that shell through the **Electron-as-node runtime** (`process.versions.electron`) instead —
|
|
148
|
+
> the profile name shown in the upgrade copy is therefore correct, and settings reads/writes are
|
|
149
|
+
> unaffected (see the comment in `src/profile-detect.ts`).
|
|
147
150
|
|
|
148
151
|
### Option 2: from the repository
|
|
149
152
|
|
|
@@ -217,8 +220,10 @@ Right below the **Catppuccin theme** row in **Settings → General** you'll find
|
|
|
217
220
|
- **Mode**: **Mica** turns the interface into floating frosted cards; **Compatibility** keeps
|
|
218
221
|
the stock layout and swaps only the material.
|
|
219
222
|
- **Performance**: Mica blurs **large areas** (top bar, composer, sidebar), which shows up as
|
|
220
|
-
GPU load while output streams
|
|
221
|
-
|
|
223
|
+
GPU load while output streams (measured ~80% peak in one conversation, under 30% for
|
|
224
|
+
Compatibility); the blur radius is not the driver — anything but `none` re-reads the backdrop
|
|
225
|
+
every frame, `0 px` included. Prefer **Compatibility** if that matters: it only frosts the
|
|
226
|
+
composer card and floating layers, a much smaller footprint.
|
|
222
227
|
- **Presets**: **Clear / Standard / Frosted** one-click presets; fine-tune with the sliders
|
|
223
228
|
afterwards (a preset lights up when the current knob values match it).
|
|
224
229
|
- **Blur** (0–40 px) and **Frost** (0–100%): the blur radius and opacity of the glass.
|
|
@@ -264,6 +269,97 @@ What this plugin does:
|
|
|
264
269
|
- **One-click toggle**: off restores the stock UI exactly; uninstalling the plugin leaves
|
|
265
270
|
nothing behind.
|
|
266
271
|
|
|
272
|
+
### What Compatibility mode matches
|
|
273
|
+
|
|
274
|
+
Compatibility mode frosts host and third-party floating surfaces through **class substrings and
|
|
275
|
+
semantic attributes**, needing no cooperation from other plugins — the price is that a substring
|
|
276
|
+
cannot tell a *surface* from a *row-level container inside one*. Since `0.5.8` the families it
|
|
277
|
+
matches are exactly these:
|
|
278
|
+
|
|
279
|
+
| Family | Anchor |
|
|
280
|
+
|---|---|
|
|
281
|
+
| Composer card | `[data-composer-card]` (the host's own attribute) |
|
|
282
|
+
| Menus | `[role='menu']` |
|
|
283
|
+
| Popovers | `[class*='popover']` / `[class*='dropdown']` (still substrings) |
|
|
284
|
+
| Modal dialogs | `[role='dialog'][aria-modal='true']` |
|
|
285
|
+
| Host right sidebar (open state only) | `[data-sidebar-right-panel][data-sidebar-right-open]` |
|
|
286
|
+
|
|
287
|
+
`0.5.8` narrowed the three widest families out of the sheet on evidence (the `card` substring, the
|
|
288
|
+
`panel` substring and row-level tooltips — see issue #17), but a **new class name in a third-party
|
|
289
|
+
plugin can still be misread**. Defaults only change with evidence, so when you hit one:
|
|
290
|
+
|
|
291
|
+
**1. Collect evidence** (read-only — paste into the browser console). Lists every element the glass
|
|
292
|
+
rules match, the matched rule text and its computed values:
|
|
293
|
+
|
|
294
|
+
```js
|
|
295
|
+
(() => {
|
|
296
|
+
const rules = []
|
|
297
|
+
for (const ss of document.styleSheets) {
|
|
298
|
+
let rs; try { rs = ss.cssRules } catch { continue }
|
|
299
|
+
for (const r of rs) if (r.selectorText && r.selectorText.includes('dsh-glass')) rules.push(r)
|
|
300
|
+
}
|
|
301
|
+
const out = []
|
|
302
|
+
for (const el of document.querySelectorAll('[class*="card"],[class*="panel"],[role="tooltip"]')) {
|
|
303
|
+
const hit = rules.filter(r => { try { return el.matches(r.selectorText) } catch { return false } })
|
|
304
|
+
if (!hit.length) continue
|
|
305
|
+
const cs = getComputedStyle(el), b = el.getBoundingClientRect()
|
|
306
|
+
if (b.width < 8 || b.height < 8) continue
|
|
307
|
+
out.push({ cls: String(el.className).slice(0, 48), w: Math.round(b.width), h: Math.round(b.height),
|
|
308
|
+
bf: cs.backdropFilter, bg: cs.backgroundColor,
|
|
309
|
+
rule: hit.map(x => x.style.cssText).join(' | ').slice(0, 60) })
|
|
310
|
+
}
|
|
311
|
+
console.table(out.slice(0, 40))
|
|
312
|
+
})()
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
**2. Stop the bleeding locally.** The plugin has **no** "custom CSS" option (DSH's profile patch
|
|
316
|
+
layer can only write plugin `config` — there is no generic style entry point), so this needs an
|
|
317
|
+
external injector: a browser extension (Stylus / Violentmonkey) or DevTools Overrides with an
|
|
318
|
+
`!important` rule, e.g.
|
|
319
|
+
|
|
320
|
+
```css
|
|
321
|
+
[class*='yourRow'] { backdrop-filter: none !important; background: none !important; outline: none !important; }
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
**3. Report it.** Paste step 1's output plus your DSH and plugin versions into
|
|
325
|
+
[issues](https://github.com/NoNameLeGo/dsh-catppuccin-theme/issues). That is how `0.5.8` was built:
|
|
326
|
+
the reporter supplied per-element computed values and we narrowed the **defaults** — which is also
|
|
327
|
+
why there is no "custom CSS" option: the default should be right first, an escape hatch is only a
|
|
328
|
+
supplement.
|
|
329
|
+
|
|
330
|
+
## Compatibility, permissions and failure bounds
|
|
331
|
+
|
|
332
|
+
### Compatibility
|
|
333
|
+
|
|
334
|
+
| Item | Declaration |
|
|
335
|
+
|---|---|
|
|
336
|
+
| DSH | `>=0.1.5-rc.1` (both settings seams: the legacy channel on ≤ `0.1.6-alpha.2` and `configForms` on ≥ `0.1.7-alpha.1`) |
|
|
337
|
+
| Node.js | `>=20` |
|
|
338
|
+
| Profile | `web` (the Web GUI and both desktop shells run the web UI and share this plugin); desktop profiles are named `desktop` |
|
|
339
|
+
| Verified exact version | `0.1.7-rc.1`: installed, started, persisted a setting to disk and restored it across a restart in a real profile ([evidence](docs/issue-15-settings-seam-0.1.7.md)); `0.1.7-rc.2`: boot-level e2e and live-page sampling of the glass layer (issues #16 / #17); `0.1.5-rc.3`, `0.1.7-alpha.1` and `0.1.7-alpha.2` are declared as the same seam |
|
|
340
|
+
|
|
341
|
+
The machine-readable form of the above is `dsh.compatibility` (`dsh` / `dshReleases` /
|
|
342
|
+
`dshOperations`) in `package.json`.
|
|
343
|
+
|
|
344
|
+
### Permissions and external access
|
|
345
|
+
|
|
346
|
+
| Category | Purpose | Bound |
|
|
347
|
+
|---|---|---|
|
|
348
|
+
| File reads | Identify the active profile and install source (directory names under `$DSH_HOME/profiles/`); one-off read of the legacy state file `~/.dsh/catppuccin-state.json` for migration | Read-only. `DSH_HOME` comes from `process.env.DSH_HOME`, defaulting to `~/.dsh` |
|
|
349
|
+
| File writes | Sync the four TUI theme JSONs into `~/.dsh-tui/themes/` (dsh-TUI reads themes only from there; no registration API) | That one directory only; a strict no-op when `~/.dsh-tui` does not exist. Settings themselves are written by DSH's settings service, through its official services |
|
|
350
|
+
| Network | The "check for updates" row reads npm registry metadata for `@nonamelego/dsh-catppuccin`; the page then fetches the result from this plugin's own host route | `registry.npmjs.org` and the same-origin plugin route only. **No telemetry, no reporting.** Offline, the row errors and nothing else is affected |
|
|
351
|
+
| Commands | None | No subprocesses, no shell |
|
|
352
|
+
| Credentials | None | No tokens, keys or passwords; only `DSH_HOME` and desktop-shell marker environment variables are read |
|
|
353
|
+
|
|
354
|
+
### Failure bounds
|
|
355
|
+
|
|
356
|
+
- A failed update check (offline, registry error, rate limit) affects only that settings
|
|
357
|
+
row — it never blocks startup, themes or glass;
|
|
358
|
+
- If theme registration fails, DSH's own themes keep working;
|
|
359
|
+
- The only install-time script is `prepare` (used locally to build `lib/`). The repository's
|
|
360
|
+
`scripts/` (screenshots, E2E, changelog generation) are **not published** to npm
|
|
361
|
+
(`files` excludes them) and never run on install.
|
|
362
|
+
|
|
267
363
|
## Development
|
|
268
364
|
|
|
269
365
|
```sh
|
|
@@ -302,10 +398,13 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for the contribution guide and
|
|
|
302
398
|
|
|
303
399
|
### Local link debugging
|
|
304
400
|
|
|
305
|
-
Clone the repo, link it into a profile and add it to the bundles (use your own paths
|
|
401
|
+
Clone the repo, link it into a profile and add it to the bundles (use your own paths;
|
|
402
|
+
`$DSH_HOME` defaults to `~/.dsh`):
|
|
306
403
|
|
|
307
404
|
```sh
|
|
308
|
-
pnpm --dir
|
|
405
|
+
pnpm --dir ~/.dsh/profiles/web add link:/path/to/dsh-catppuccin
|
|
406
|
+
# Windows example:
|
|
407
|
+
# pnpm --dir C:\Users\<you>\.dsh\profiles\web add link:D:\dev\dsh-catppuccin
|
|
309
408
|
```
|
|
310
409
|
|
|
311
410
|
Then add `@nonamelego/dsh-catppuccin` to the profile's `package.json`
|
package/README.md
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
- [安装](#安装)
|
|
24
24
|
- [使用](#使用)
|
|
25
25
|
- [玻璃拟态(Glassmorphism)](#玻璃拟态glassmorphism)
|
|
26
|
+
- [兼容性、权限与失败边界](#兼容性权限与失败边界)
|
|
26
27
|
- [开发](#开发)
|
|
27
28
|
- [🙋 常见问题](#常见问题)
|
|
28
29
|
- [💝 致谢](#致谢)
|
|
@@ -59,8 +60,9 @@ Catppuccin 主题。
|
|
|
59
60
|
- 🔧 **自定义 token 覆盖**:按「`--dsw-* 变量: 值`」逐条覆盖单个配色 token(例如把注释色换成蓝色),与所选风味一起持久保存
|
|
60
61
|
- 🖍️ **代码块高亮风格**:默认 / 注释斜体(italic-comments)两套 shiki 风格可选
|
|
61
62
|
- 🌐 中 / 英 / 日 / 韩 / 西 / 法 / 德七语文案(跟随系统语言)
|
|
62
|
-
- 🪟
|
|
63
|
-
新会话按钮磨砂玻璃效果,设置里一键开关;云母 /
|
|
63
|
+
- 🪟 **玻璃质感**(云母模式):顶栏 / 侧边栏 / 输入框 / 统计行 / 轨迹视图 / 聊天气泡 /
|
|
64
|
+
新会话按钮磨砂玻璃效果,设置里一键开关;云母 / 兼容双模式(兼容模式保持原版排版,
|
|
65
|
+
只给输入框卡片与浮层上玻璃),模糊度、磨砂度、
|
|
64
66
|
背景亮度自由调节(交互参考 [DSH-Transparent-UI-Plugin](https://github.com/WYH66666666/DSH-Transparent-UI-Plugin))
|
|
65
67
|
- 🌫️ **玻璃拟态细节**:页面上下边缘渐变模糊、折叠侧边栏悬浮玻璃、
|
|
66
68
|
纯色背景跟随主题底色——内容滚入视口边缘时柔化穿过,层次更立体
|
|
@@ -131,8 +133,9 @@ dsh plugin --profile desktop add @nonamelego/dsh-catppuccin
|
|
|
131
133
|
> [DSH Desktop](https://github.com/anywhere-labs/deepseek-harness-desktop) 都启动
|
|
132
134
|
> `$DSH_HOME/profiles/desktop`,所以**上面的命令对两者都成立**。本插件的桌面支持以
|
|
133
135
|
> **官方 web + 官方 desktop** 为维护核心;社区壳的 `desktopProfiles` 服务探测也保留。
|
|
134
|
-
> 但官方壳的 profile
|
|
135
|
-
>
|
|
136
|
+
> 但官方壳的 profile 进程**没有**专用的环境标记(它的 `DSH_DESKTOP_NODE_EXECUTABLE` 只注入给
|
|
137
|
+
> 包安装子进程),所以本插件改为识别 **Electron-as-node 运行时**(`process.versions.electron`)
|
|
138
|
+
> 来判定官方桌面版——升级提示里的 profile 名与文案因此是对的;设置的读写不受影响。
|
|
136
139
|
|
|
137
140
|
### 方式二:从仓库安装
|
|
138
141
|
|
|
@@ -195,8 +198,9 @@ dsh plugin --profile dsh-tui add https://github.com/NoNameLeGo/dsh-catppuccin-th
|
|
|
195
198
|
- **模式**:**云母效果**把界面改成悬浮磨砂卡片;**兼容模式**保持原版排版,
|
|
196
199
|
只把材质换成玻璃。
|
|
197
200
|
- **性能**:云母效果会在**大面积区域**(顶栏、输入框、侧边栏)做背景模糊,
|
|
198
|
-
流式输出时占用 GPU
|
|
199
|
-
|
|
201
|
+
流式输出时占用 GPU 较明显(同一会话实测峰值约 80%,兼容模式不到 30%);
|
|
202
|
+
模糊半径本身不是主因(调到 0 px 也照样计费——只要不是 `none`,每帧都要回读背景)。
|
|
203
|
+
在意占用就用**兼容模式**:它只在输入框卡片与浮层上做玻璃,命中面明显更小。
|
|
200
204
|
- **预设**:**清透 / 标准 / 磨砂** 三档一键套用;想微调再用下面的滑条
|
|
201
205
|
(当前旋钮值与某档一致时该档高亮)。
|
|
202
206
|
- **玻璃模糊度**(0–40 px)、**磨砂度**(0–100%):控制玻璃的模糊半径与
|
|
@@ -240,6 +244,93 @@ dsh plugin --profile dsh-tui add https://github.com/NoNameLeGo/dsh-catppuccin-th
|
|
|
240
244
|
变色;页面底色取当前主题纯色,背景亮度旋钮直接往纯色里调和白/黑;
|
|
241
245
|
- **一键开关**:关闭即完全还原原生界面,插件卸载不留任何残留。
|
|
242
246
|
|
|
247
|
+
### 兼容模式会命中哪些面
|
|
248
|
+
|
|
249
|
+
兼容模式靠**类名子串与语义属性**给宿主与第三方插件的悬浮面加玻璃,不需要任何插件配合——
|
|
250
|
+
代价是子串匹配**无法区分「面」与「面里的行级容器」**。自 `0.5.8` 起,明确会被命中的族只剩这些:
|
|
251
|
+
|
|
252
|
+
| 族 | 锚点 |
|
|
253
|
+
|---|---|
|
|
254
|
+
| 输入框卡片 | `[data-composer-card]`(宿主自己的属性) |
|
|
255
|
+
| 菜单 | `[role='menu']` |
|
|
256
|
+
| 弹出层 | `[class*='popover']` / `[class*='dropdown']`(这两个仍是子串) |
|
|
257
|
+
| 模态框 | `[role='dialog'][aria-modal='true']` |
|
|
258
|
+
| 宿主右侧栏(仅展开态) | `[data-sidebar-right-panel][data-sidebar-right-open]` |
|
|
259
|
+
|
|
260
|
+
`0.5.8` 按证据把最宽的三族收窄掉了(宽泛的 `card` 子串、`panel` 子串、行级 tooltip,详见
|
|
261
|
+
issue #17),但**第三方插件里新出现的类名仍可能被误命中**。默认收窄要讲证据,遇到时走下面三步。
|
|
262
|
+
|
|
263
|
+
#### 1. 取证(只读,粘进浏览器控制台)
|
|
264
|
+
|
|
265
|
+
列出当前所有被玻璃规则命中的元素、命中的规则原文与 computed 值:
|
|
266
|
+
|
|
267
|
+
```js
|
|
268
|
+
(() => {
|
|
269
|
+
const rules = []
|
|
270
|
+
for (const ss of document.styleSheets) {
|
|
271
|
+
let rs; try { rs = ss.cssRules } catch { continue }
|
|
272
|
+
for (const r of rs) if (r.selectorText && r.selectorText.includes('dsh-glass')) rules.push(r)
|
|
273
|
+
}
|
|
274
|
+
const out = []
|
|
275
|
+
for (const el of document.querySelectorAll('[class*="card"],[class*="panel"],[role="tooltip"]')) {
|
|
276
|
+
const hit = rules.filter(r => { try { return el.matches(r.selectorText) } catch { return false } })
|
|
277
|
+
if (!hit.length) continue
|
|
278
|
+
const cs = getComputedStyle(el), b = el.getBoundingClientRect()
|
|
279
|
+
if (b.width < 8 || b.height < 8) continue
|
|
280
|
+
out.push({ cls: String(el.className).slice(0, 48), w: Math.round(b.width), h: Math.round(b.height),
|
|
281
|
+
bf: cs.backdropFilter, bg: cs.backgroundColor,
|
|
282
|
+
rule: hit.map(x => x.style.cssText).join(' | ').slice(0, 60) })
|
|
283
|
+
}
|
|
284
|
+
console.table(out.slice(0, 40))
|
|
285
|
+
})()
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
#### 2. 临时止血
|
|
289
|
+
|
|
290
|
+
插件**没有**「自定义 CSS」配置项(DSH 的 profile patch 层只能给插件写 `config`,没有通用样式入口),
|
|
291
|
+
所以这一步要用外部注入——浏览器扩展(Stylus / 暴力猴)或 DevTools 的 Overrides——加一条
|
|
292
|
+
`!important` 规则把该族还原,例如:
|
|
293
|
+
|
|
294
|
+
```css
|
|
295
|
+
[class*='yourRow'] { backdrop-filter: none !important; background: none !important; outline: none !important; }
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
#### 3. 反馈
|
|
299
|
+
|
|
300
|
+
把第 1 步的表格输出连同 DSH 与插件版本贴到
|
|
301
|
+
[issues](https://github.com/NoNameLeGo/dsh-catppuccin-theme/issues)。`0.5.8` 就是这么修出来的:
|
|
302
|
+
报告人给了逐元素的 computed 对照,我们据此收窄**默认**规则——这也是为什么没有「自定义 CSS」
|
|
303
|
+
配置项:默认行为应该先是对的,配置项只能当补充。
|
|
304
|
+
|
|
305
|
+
## 兼容性、权限与失败边界
|
|
306
|
+
|
|
307
|
+
### 兼容范围
|
|
308
|
+
|
|
309
|
+
| 项 | 声明 |
|
|
310
|
+
|---|---|
|
|
311
|
+
| DSH | `>=0.1.5-rc.1`(同时适配两套 settings seam:≤ `0.1.6-alpha.2` 的旧通道与 ≥ `0.1.7-alpha.1` 的 `configForms`) |
|
|
312
|
+
| Node.js | `>=20` |
|
|
313
|
+
| Profile | `web`(Web GUI 与两个桌面壳都启动 web 界面,共用本插件);桌面端默认 profile 名为 `desktop` |
|
|
314
|
+
| 已验证的具体版本 | `0.1.7-rc.1`:真实 profile 上完成安装、启动、改设置落盘与重启恢复([证据](docs/issue-15-settings-seam-0.1.7.md));`0.1.7-rc.2`:启动级 e2e 与玻璃层的真页采样(issue #16 / #17);`0.1.5-rc.3`、`0.1.7-alpha.1`、`0.1.7-alpha.2` 为同一 seam 的声明 |
|
|
315
|
+
|
|
316
|
+
以上也是 `package.json` 里 `dsh.compatibility`(`dsh` / `dshReleases` / `dshOperations`)的机器可读版本。
|
|
317
|
+
|
|
318
|
+
### 权限与外部访问
|
|
319
|
+
|
|
320
|
+
| 类别 | 用途 | 边界 |
|
|
321
|
+
|---|---|---|
|
|
322
|
+
| 文件读 | 识别当前 profile 与安装来源(`$DSH_HOME/profiles/` 下的目录名);一次性读取旧状态文件 `~/.dsh/catppuccin-state.json` 做迁移 | 只读;`DSH_HOME` 取自 `process.env.DSH_HOME`,缺省 `~/.dsh` |
|
|
323
|
+
| 文件写 | 把四套 TUI 主题 JSON 同步到 `~/.dsh-tui/themes/`(dsh-TUI 只从该目录读主题,无注册 API) | 只写这一个目录;`~/.dsh-tui` 不存在时是严格 no-op。设置本身由 DSH 的 settings 服务写入,插件只经官方服务读写 |
|
|
324
|
+
| 网络 | 「检查更新」读取 npm registry 上 `@nonamelego/dsh-catppuccin` 的元数据;页面侧再向本插件的宿主路由取一次结果 | 只访问 `registry.npmjs.org` 与同源插件路由;**无遥测、无上报**;离线时该行报错、不影响使用 |
|
|
325
|
+
| 命令 | 无 | 不执行任何子进程 / shell |
|
|
326
|
+
| 凭据 | 无 | 不读取任何 token、key、密码;仅读 `DSH_HOME` 与桌面壳标记类环境变量 |
|
|
327
|
+
|
|
328
|
+
### 失败边界
|
|
329
|
+
|
|
330
|
+
- 更新检查失败(离线、registry 异常、限流)只影响设置页那一行,**不阻塞启动**,也不影响主题与玻璃;
|
|
331
|
+
- 主题注册失败时 DSH 自身主题照常可用;
|
|
332
|
+
- 安装期只执行 `prepare`(本地用它构建 `lib/`)。仓库里的 `scripts/`(截图、E2E、changelog 生成)**不随 npm 包发布**(`files` 不含 `scripts`),也不会在安装时执行。
|
|
333
|
+
|
|
243
334
|
## 开发
|
|
244
335
|
|
|
245
336
|
```sh
|
|
@@ -277,10 +368,12 @@ pnpm docs:api
|
|
|
277
368
|
|
|
278
369
|
### 本地链接调试
|
|
279
370
|
|
|
280
|
-
克隆到本地后,把包链接进 profile
|
|
371
|
+
克隆到本地后,把包链接进 profile(把路径换成你自己的;`$DSH_HOME` 默认是 `~/.dsh`):
|
|
281
372
|
|
|
282
373
|
```sh
|
|
283
|
-
pnpm --dir
|
|
374
|
+
pnpm --dir ~/.dsh/profiles/web add link:/path/to/dsh-catppuccin
|
|
375
|
+
# Windows 例:
|
|
376
|
+
# pnpm --dir C:\Users\<you>\.dsh\profiles\web add link:D:\dev\dsh-catppuccin
|
|
284
377
|
```
|
|
285
378
|
|
|
286
379
|
再把 `@nonamelego/dsh-catppuccin` 加进 profile `package.json` 的
|
package/lib/client.js
CHANGED
|
@@ -1953,7 +1953,7 @@ window.__ModuleLoader__.load({
|
|
|
1953
1953
|
* (item II — lazy CSS), so editing the stylesheet means editing
|
|
1954
1954
|
* glass.module.css and rebuilding.
|
|
1955
1955
|
*/
|
|
1956
|
-
const GLASS_CSS_TEXT = "[data-dsh-glass] body{--dsh-glass-card:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(52% * var(--dsh-glass-frost,1)), transparent);--dsh-glass-card-raised:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(64% * var(--dsh-glass-frost,1)), transparent);--dsh-glass-card-hover:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(76% * var(--dsh-glass-frost,1)), transparent);--dsh-glass-rim:color-mix(in srgb, var(--dsw-alias-label-primary) 18%, transparent);--dsh-glass-rim-soft:color-mix(in srgb, var(--dsw-alias-label-primary) 12%, transparent);--dsh-glass-edge:inset 0 1px 0 #ffffff6b;--dsh-glass-drop:0 10px 32px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 38%, transparent)}[data-dsh-glass] body[data-ds-dark-theme]{--dsh-glass-rim:color-mix(in srgb, var(--dsw-alias-label-primary) 24%, transparent);--dsh-glass-rim-soft:color-mix(in srgb, var(--dsw-alias-label-primary) 16%, transparent);--dsh-glass-edge:inset 0 1px 0 #ffffff14;--dsh-glass-drop:0 10px 32px #02060e73}[data-dsh-glass] body{background:color-mix(in srgb, color-mix(in srgb, var(--dsw-alias-bg-base), #fff calc(var(--dsh-glass-brightness-white,0) * 100%)), #000 calc(var(--dsh-glass-brightness-black,0) * 100%))}[data-dsh-glass] [data-dsh-glass-frame],[data-dsh-glass] [data-phase],[data-dsh-glass] [data-dsh-glass-details]{background:0 0}[data-dsh-glass-float] [data-phase=active] header{z-index:8;position:relative}[data-dsh-glass-float] [class*=banner]{position:static}[data-dsh-glass-float] [data-phase=active] [data-conversation-scroll]{margin-top:-95px;padding-top:107px}[data-dsh-glass] [data-phase] [class*=composerSeat][class*=composerSeat]{background:0 0}[data-dsh-glass] [data-dsh-glass-fade]{z-index:7;pointer-events:none;backdrop-filter:blur(5px);background:#ffffff2e;height:13px;position:fixed;left:0;right:0}[data-dsh-glass] body[data-ds-dark-theme] [data-dsh-glass-fade]{background:#00000024}[data-dsh-glass] [data-dsh-glass-fade=top]{top:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000 100%)}[data-dsh-glass] [data-dsh-glass-fade=bottom]{bottom:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 100%);mask-image:linear-gradient(#0000 0%,#000 100%)}[data-dsh-glass-float] [role=menu],[data-dsh-glass-float] [role=dialog],[data-dsh-glass-float] [role=alert],[data-dsh-glass-float] [data-dsh-glass-surface]{border-radius:14px}[data-dsh-glass-float] [role=menuitem],[data-dsh-glass-float] [role=tooltip],[data-dsh-glass-float] [class*=pill]{border-radius:8px}[data-dsh-glass-float] button[class*=button]{border-radius:10px}[data-dsh-glass-float] [class*=iconButton],[data-dsh-glass-float] [class*=searchButton]{border-radius:8px}[data-dsh-glass-float] [class*=block]{--dsl-code-block-border-radius:14px;--dsl-diff-radius:14px;--dsl-read-radius:14px;--dsl-terminal-radius:14px;--dsl-web-radius:14px;--dsl-search-radius:14px;border-radius:14px}[data-dsh-glass-float] [data-dsh-glass-add]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [data-dsh-glass-add]:hover:not(:disabled){background:var(--dsh-glass-card-hover)}[data-dsh-glass-float] [data-dsh-glass-surface]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [data-dsh-glass-surface]:hover:not(:disabled){background:var(--dsh-glass-card-hover)}[data-dsh-glass-float] [data-conversation-scroll] [class*=bubble]{border:1px solid var(--dsh-glass-rim-soft);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(46% * var(--dsh-glass-frost,1)), transparent);border-radius:14px}[data-dsh-glass-float] [class*=card]{border-radius:14px}[data-dsh-glass] [data-dsh-glass-settings]{--dsh-glass-settings-raised:calc(38% + 38% * var(--dsh-glass-frost,1));--dsh-glass-settings-soft:calc(30% + 30% * var(--dsh-glass-frost,1));--dsw-alias-bg-module-platform:color-mix(in srgb, var(--dsw-static-neutral-bluish-800) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-3:color-mix(in srgb, var(--dsw-static-neutral-bluish-800) var(--dsh-glass-settings-soft), transparent);--dsw-alias-bg-layer-2:color-mix(in srgb, var(--dsw-static-neutral-bluish-850) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-1:color-mix(in srgb, var(--dsw-static-neutral-bluish-850) var(--dsh-glass-settings-soft), transparent);--dsw-specific-sidebar-nav-item-active:color-mix(in srgb, var(--dsw-static-neutral-bluish-750) var(--dsh-glass-settings-raised), transparent);--dsw-specific-sidebar-nav-item-hover:color-mix(in srgb, var(--dsw-static-neutral-bluish-850) var(--dsh-glass-settings-soft), transparent)}[data-dsh-glass] body:not([data-ds-dark-theme]) [data-dsh-glass-settings]{--dsw-alias-bg-module-platform:color-mix(in srgb, var(--dsw-static-neutral-bluish-60) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-3:color-mix(in srgb, var(--dsw-static-neutral-bluish-00) var(--dsh-glass-settings-soft), transparent);--dsw-alias-bg-layer-2:color-mix(in srgb, var(--dsw-static-neutral-bluish-00) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-1:color-mix(in srgb, var(--dsw-static-neutral-bluish-00) var(--dsh-glass-settings-soft), transparent);--dsw-specific-sidebar-nav-item-active:color-mix(in srgb, var(--dsw-static-neutral-bluish-100) var(--dsh-glass-settings-raised), transparent);--dsw-specific-sidebar-nav-item-hover:color-mix(in srgb, var(--dsw-static-neutral-bluish-75) var(--dsh-glass-settings-soft), transparent)}[data-dsh-glass-float] header{border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge), var(--dsh-glass-drop);backdrop-filter:blur(var(--dsh-glass-blur,14px));border-radius:20px;margin:12px 16px 0;padding:10px 16px 8px}[data-dsh-glass-float] header:after{display:none}[data-dsh-glass-float] [data-dsh-glass-frame][data-sidebar-collapsed] header{margin-left:28px}[data-dsh-glass-float] [class*=sidebarCol]{--dsw-specific-sidebar-fill:transparent;z-index:9;border:1px solid var(--dsh-glass-rim);border-right-color:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 40%, transparent);box-shadow:var(--dsh-glass-drop);border-radius:20px;margin:12px;padding:10px 12px 14px;position:relative;overflow:hidden}[data-dsh-glass-float] [class*=sidebarCol]:before{content:\"\";border-radius:inherit;background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge);z-index:-1;pointer-events:none;transition:border-radius .15s var(--ds-ease-in-out);position:absolute;inset:0}[data-dsh-glass-float] body[data-ds-dark-theme] [class*=sidebarCol]{border-right-color:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 22%, transparent)}[data-dsh-glass-float] [data-dsh-glass-frame][data-sidebar-collapsed] [class*=sidebarCol]{transition:margin .15s var(--ds-ease-in-out), border-radius .15s var(--ds-ease-in-out);border-radius:16px;margin:12px -12px 12px 12px;padding:0}[data-dsh-glass-float] [data-dsh-glass-frame]:not([data-sidebar-collapsed]) [data-dsh-glass-sidebar-root]{width:100%!important}[data-dsh-glass-float] [data-dsh-glass-trajectory]{border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card);width:calc(100% - 32px);height:calc(100% - 20px);box-shadow:var(--dsh-glass-edge), var(--dsh-glass-drop);border-radius:20px;margin:8px 16px 12px;overflow:hidden}[data-dsh-glass-float] [data-dsh-glass-trajectory] [role=toolbar],[data-dsh-glass-float] [data-dsh-glass-trajectory] section[aria-label=Trajectory\\ timeline]{background:0 0}[data-dsh-glass-float] [data-composer-card],[data-dsh-glass-float] [data-composer-card]:after{border-radius:24px}[data-dsh-glass-float] [data-composer-card]{z-index:8;background:var(--dsh-glass-card);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge), var(--dsh-glass-drop);backdrop-filter:blur(var(--dsh-glass-blur,14px));position:relative}[data-dsh-glass-float] [data-dsh-glass-inputbar]:not([class*=hero]):not(:has([data-dsh-glass-stats])){padding-bottom:12px}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]){border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge), var(--dsh-glass-drop);backdrop-filter:blur(var(--dsh-glass-blur,14px));border-radius:24px;margin:0 auto 12px;padding:0;width:var(--dsh-composer-card-max-width)!important;max-width:var(--dsh-composer-card-max-width)!important}[data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]) [data-composer-card]{box-shadow:none;backdrop-filter:none;background:0 0;border:none;border-radius:0}[data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]) [data-composer-card]:after{display:none}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]) [data-slot]{border:none;border-top:1px solid var(--dsh-glass-rim-soft);box-shadow:none;backdrop-filter:none;background:0 0;border-radius:0;margin:0;padding:2px 16px 6px;width:100%!important;max-width:none!important}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar] [data-slot] [data-dsh-glass-stats]{min-width:0;box-shadow:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;margin:0;width:100%!important;padding:4px 0 0!important}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar] [data-slot] [data-dsh-live-tps]{padding-right:0}[data-dsh-glass-float] [role=treeitem][aria-selected=true]{background:color-mix(in srgb, var(--dsw-specific-sidebar-nav-item-active) 40%, transparent);box-shadow:inset 2px 0 0 var(--dsw-specific-sidebar-nav-item-active-accent), 0 0 16px color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 20%, transparent)}[data-dsh-glass-float] button[class*=button]:hover:not(:disabled),[data-dsh-glass-float] [role=menuitem]:hover:not(:disabled){box-shadow:0 0 12px color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 20%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--dsw-alias-border-l3) 60%, transparent)}[data-dsh-glass-float] [role=menu]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim-soft);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [role=menu]:has([role=group]>[role=menuitemradio]){background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 70%, transparent)}[data-dsh-glass-float] [role=menu] [role=group]:has(>[role=menuitemradio])>:first-child{border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card-raised);backdrop-filter:blur(var(--dsh-glass-blur,14px));border-radius:999px;align-items:center;width:fit-content;margin:3px 0 5px 6px;padding:3px 10px;display:inline-flex}[data-dsh-glass-float] [role=dialog][aria-modal=true]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass] [data-conversation-scroll]{text-shadow:0 0 1px #ffffff80}[data-dsh-glass] body[data-ds-dark-theme] [data-conversation-scroll]{text-shadow:0 0 1px #0006}[data-dsh-glass-float] [data-dsh-glass-inputbar] [data-slot]{color:var(--dsw-alias-label-secondary)}[data-dsh-glass-float] [data-phase=hero]{animation:dsh-glass-in .32s var(--ds-ease-in-out)}[data-dsh-glass-float] [data-phase=active]{animation:dsh-glass-in .3s var(--ds-ease-in-out)}[data-dsh-glass-float] [data-testid^=view-]{animation:dsh-glass-in .26s var(--ds-ease-in-out)}[data-dsh-glass-float] [data-tool]{animation:dsh-glass-rise .3s var(--ds-ease-in-out) both}[data-dsh-glass-float] [role=dialog]{animation:dsh-glass-dialog-in .24s var(--ds-ease-in-out)}@keyframes dsh-glass-in{0%{opacity:0}}@keyframes dsh-glass-rise{0%{opacity:0;transform:translateY(6px)}}@keyframes dsh-glass-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}[data-dsh-glass] :focus-visible{outline:2px solid color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 85%, transparent);outline-offset:1px}[data-dsh-glass] ::selection{background:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 35%, transparent)}[data-dsh-glass-compat] [role=menu],[data-dsh-glass-compat] [role=tooltip],[data-dsh-glass-compat] [class*=card],[data-dsh-glass-compat] [class*=panel],[data-dsh-glass-compat] [class*=popover],[data-dsh-glass-compat] [class*=dropdown]{backdrop-filter:blur(12px)}[data-dsh-glass-compat] [role=menu],[data-dsh-glass-compat] [role=tooltip],[data-dsh-glass-compat] [class*=card],[data-dsh-glass-compat] [class*=popover],[data-dsh-glass-compat] [class*=dropdown]{background:var(--dsh-glass-card-raised)}[data-dsh-glass-compat] [role=menu]:not(:focus-visible),[data-dsh-glass-compat] [role=tooltip]:not(:focus-visible),[data-dsh-glass-compat] [class*=card]:not(:focus-visible),[data-dsh-glass-compat] [class*=popover]:not(:focus-visible),[data-dsh-glass-compat] [class*=dropdown]:not(:focus-visible){outline:1px solid var(--dsh-glass-rim);outline-offset:-1px}[data-dsh-glass-compat] [role=dialog][aria-modal=true]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);backdrop-filter:blur(var(--dsh-glass-blur,12px))}@media (prefers-reduced-motion:reduce){[data-dsh-glass-float] [data-phase=hero],[data-dsh-glass-float] [data-phase=active],[data-dsh-glass-float] [data-testid^=view-],[data-dsh-glass-float] [data-tool],[data-dsh-glass-float] [role=dialog]{animation:none}}";
|
|
1956
|
+
const GLASS_CSS_TEXT = "[data-dsh-glass] body{--dsh-glass-card:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(52% * var(--dsh-glass-frost,1)), transparent);--dsh-glass-card-raised:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(64% * var(--dsh-glass-frost,1)), transparent);--dsh-glass-card-hover:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(76% * var(--dsh-glass-frost,1)), transparent);--dsh-glass-rim:color-mix(in srgb, var(--dsw-alias-label-primary) 18%, transparent);--dsh-glass-rim-soft:color-mix(in srgb, var(--dsw-alias-label-primary) 12%, transparent);--dsh-glass-edge:inset 0 1px 0 #ffffff6b;--dsh-glass-drop:0 10px 32px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 38%, transparent)}[data-dsh-glass] body[data-ds-dark-theme]{--dsh-glass-rim:color-mix(in srgb, var(--dsw-alias-label-primary) 24%, transparent);--dsh-glass-rim-soft:color-mix(in srgb, var(--dsw-alias-label-primary) 16%, transparent);--dsh-glass-edge:inset 0 1px 0 #ffffff14;--dsh-glass-drop:0 10px 32px #02060e73}[data-dsh-glass] body{background:color-mix(in srgb, color-mix(in srgb, var(--dsw-alias-bg-base), #fff calc(var(--dsh-glass-brightness-white,0) * 100%)), #000 calc(var(--dsh-glass-brightness-black,0) * 100%))}[data-dsh-glass] [data-dsh-glass-frame],[data-dsh-glass] [data-phase],[data-dsh-glass] [data-dsh-glass-details]{background:0 0}[data-dsh-glass-float] [data-phase=active] header{z-index:8;position:relative}[data-dsh-glass-float] [class*=banner]{position:static}[data-dsh-glass-float] [data-phase=active] [data-conversation-scroll]{margin-top:-95px;padding-top:107px}[data-dsh-glass] [data-phase] [class*=composerSeat][class*=composerSeat]{background:0 0}[data-dsh-glass] [data-dsh-glass-fade]{z-index:7;pointer-events:none;backdrop-filter:blur(5px);background:#ffffff2e;height:13px;position:fixed;left:0;right:0}[data-dsh-glass] body[data-ds-dark-theme] [data-dsh-glass-fade]{background:#00000024}[data-dsh-glass] [data-dsh-glass-fade=top]{top:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000 100%)}[data-dsh-glass] [data-dsh-glass-fade=bottom]{bottom:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 100%);mask-image:linear-gradient(#0000 0%,#000 100%)}[data-dsh-glass-float] [role=menu],[data-dsh-glass-float] [role=dialog],[data-dsh-glass-float] [role=alert],[data-dsh-glass-float] [data-dsh-glass-surface]{border-radius:14px}[data-dsh-glass-float] [role=menuitem],[data-dsh-glass-float] [role=tooltip],[data-dsh-glass-float] [class*=pill]{border-radius:8px}[data-dsh-glass-float] button[class*=button]{border-radius:10px}[data-dsh-glass-float] [class*=iconButton],[data-dsh-glass-float] [class*=searchButton]{border-radius:8px}[data-dsh-glass-float] [class*=block]{--dsl-code-block-border-radius:14px;--dsl-diff-radius:14px;--dsl-read-radius:14px;--dsl-terminal-radius:14px;--dsl-web-radius:14px;--dsl-search-radius:14px;border-radius:14px}[data-dsh-glass-float] [data-dsh-glass-add]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [data-dsh-glass-add]:hover:not(:disabled){background:var(--dsh-glass-card-hover)}[data-dsh-glass-float] [data-dsh-glass-surface]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [data-dsh-glass-surface]:hover:not(:disabled){background:var(--dsh-glass-card-hover)}[data-dsh-glass-float] [data-conversation-scroll] [class*=bubble]{border:1px solid var(--dsh-glass-rim-soft);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) calc(46% * var(--dsh-glass-frost,1)), transparent);border-radius:14px}[data-dsh-glass-float] [class*=card]{border-radius:14px}[data-dsh-glass] [data-dsh-glass-settings]{--dsh-glass-settings-raised:calc(38% + 38% * var(--dsh-glass-frost,1));--dsh-glass-settings-soft:calc(30% + 30% * var(--dsh-glass-frost,1));--dsw-alias-bg-module-platform:color-mix(in srgb, var(--dsw-static-neutral-bluish-800) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-3:color-mix(in srgb, var(--dsw-static-neutral-bluish-800) var(--dsh-glass-settings-soft), transparent);--dsw-alias-bg-layer-2:color-mix(in srgb, var(--dsw-static-neutral-bluish-850) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-1:color-mix(in srgb, var(--dsw-static-neutral-bluish-850) var(--dsh-glass-settings-soft), transparent);--dsw-specific-sidebar-nav-item-active:color-mix(in srgb, var(--dsw-static-neutral-bluish-750) var(--dsh-glass-settings-raised), transparent);--dsw-specific-sidebar-nav-item-hover:color-mix(in srgb, var(--dsw-static-neutral-bluish-850) var(--dsh-glass-settings-soft), transparent)}[data-dsh-glass] body:not([data-ds-dark-theme]) [data-dsh-glass-settings]{--dsw-alias-bg-module-platform:color-mix(in srgb, var(--dsw-static-neutral-bluish-60) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-3:color-mix(in srgb, var(--dsw-static-neutral-bluish-00) var(--dsh-glass-settings-soft), transparent);--dsw-alias-bg-layer-2:color-mix(in srgb, var(--dsw-static-neutral-bluish-00) var(--dsh-glass-settings-raised), transparent);--dsw-alias-bg-layer-1:color-mix(in srgb, var(--dsw-static-neutral-bluish-00) var(--dsh-glass-settings-soft), transparent);--dsw-specific-sidebar-nav-item-active:color-mix(in srgb, var(--dsw-static-neutral-bluish-100) var(--dsh-glass-settings-raised), transparent);--dsw-specific-sidebar-nav-item-hover:color-mix(in srgb, var(--dsw-static-neutral-bluish-75) var(--dsh-glass-settings-soft), transparent)}[data-dsh-glass-float] header{border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge), var(--dsh-glass-drop);backdrop-filter:blur(var(--dsh-glass-blur,14px));border-radius:20px;margin:12px 16px 0;padding:10px 16px 8px}[data-dsh-glass-float] header:after{display:none}[data-dsh-glass-float] [data-dsh-glass-frame][data-sidebar-collapsed] header{margin-left:28px}[data-dsh-glass-float] [class*=sidebarCol]{--dsw-specific-sidebar-fill:transparent;z-index:9;border:1px solid var(--dsh-glass-rim);border-right-color:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 40%, transparent);box-shadow:var(--dsh-glass-drop);border-radius:20px;margin:12px;padding:10px 12px 14px;position:relative;overflow:hidden}[data-dsh-glass-float] [class*=sidebarCol]:before{content:\"\";border-radius:inherit;background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge);z-index:-1;pointer-events:none;transition:border-radius .15s var(--ds-ease-in-out);position:absolute;inset:0}[data-dsh-glass-float] body[data-ds-dark-theme] [class*=sidebarCol]{border-right-color:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 22%, transparent)}[data-dsh-glass-float] [data-dsh-glass-frame][data-sidebar-collapsed] [class*=sidebarCol]{transition:margin .15s var(--ds-ease-in-out), border-radius .15s var(--ds-ease-in-out);border-radius:16px;margin:12px -12px 12px 12px;padding:0}[data-dsh-glass-float] [data-dsh-glass-frame]:not([data-sidebar-collapsed]) [data-dsh-glass-sidebar-root]{width:100%!important}[data-dsh-glass-float] [data-dsh-glass-trajectory]{border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card);width:calc(100% - 32px);height:calc(100% - 20px);box-shadow:var(--dsh-glass-edge), var(--dsh-glass-drop);border-radius:20px;margin:8px 16px 12px;overflow:hidden}[data-dsh-glass-float] [data-dsh-glass-trajectory] [role=toolbar],[data-dsh-glass-float] [data-dsh-glass-trajectory] section[aria-label=Trajectory\\ timeline]{background:0 0}[data-dsh-glass-float] [data-composer-card],[data-dsh-glass-float] [data-composer-card]:after{border-radius:24px}[data-dsh-glass-float] [data-composer-card]{z-index:8;background:var(--dsh-glass-card);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge), var(--dsh-glass-drop);backdrop-filter:blur(var(--dsh-glass-blur,14px));position:relative}[data-dsh-glass-float] [data-dsh-glass-inputbar]:not([class*=hero]):not(:has([data-dsh-glass-stats])){padding-bottom:12px}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]){border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge), var(--dsh-glass-drop);backdrop-filter:blur(var(--dsh-glass-blur,14px));border-radius:24px;margin:0 auto 12px;padding:0;width:var(--dsh-composer-card-max-width)!important;max-width:var(--dsh-composer-card-max-width)!important}[data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]) [data-composer-card]{box-shadow:none;backdrop-filter:none;background:0 0;border:none;border-radius:0}[data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]) [data-composer-card]:after{display:none}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar]:has([data-dsh-glass-stats]) [data-slot]{border:none;border-top:1px solid var(--dsh-glass-rim-soft);box-shadow:none;backdrop-filter:none;background:0 0;border-radius:0;margin:0;padding:2px 16px 6px;width:100%!important;max-width:none!important}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar] [data-slot] [data-dsh-glass-stats]{min-width:0;box-shadow:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;margin:0;width:100%!important;padding:4px 0 0!important}[data-dsh-glass][data-dsh-glass-float] [data-dsh-glass-inputbar] [data-slot] [data-dsh-live-tps]{padding-right:0}[data-dsh-glass-float] [role=treeitem][aria-selected=true]{background:color-mix(in srgb, var(--dsw-specific-sidebar-nav-item-active) 40%, transparent);box-shadow:inset 2px 0 0 var(--dsw-specific-sidebar-nav-item-active-accent), 0 0 16px color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 20%, transparent)}[data-dsh-glass-float] button[class*=button]:hover:not(:disabled),[data-dsh-glass-float] [role=menuitem]:hover:not(:disabled){box-shadow:0 0 12px color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 20%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--dsw-alias-border-l3) 60%, transparent)}[data-dsh-glass-float] [role=menu]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim-soft);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [role=menu]:has([role=group]>[role=menuitemradio]){background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 70%, transparent)}[data-dsh-glass-float] [role=menu] [role=group]:has(>[role=menuitemradio])>:first-child{border:1px solid var(--dsh-glass-rim);background:var(--dsh-glass-card-raised);backdrop-filter:blur(var(--dsh-glass-blur,14px));border-radius:999px;align-items:center;width:fit-content;margin:3px 0 5px 6px;padding:3px 10px;display:inline-flex}[data-dsh-glass-float] [role=dialog][aria-modal=true]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass] [data-conversation-scroll]{text-shadow:0 0 1px #ffffff80}[data-dsh-glass] body[data-ds-dark-theme] [data-conversation-scroll]{text-shadow:0 0 1px #0006}[data-dsh-glass-float] [data-dsh-glass-inputbar] [data-slot]{color:var(--dsw-alias-label-secondary)}[data-dsh-glass-float] [data-phase=hero]{animation:dsh-glass-in .32s var(--ds-ease-in-out)}[data-dsh-glass-float] [data-phase=active]{animation:dsh-glass-in .3s var(--ds-ease-in-out)}[data-dsh-glass-float] [data-testid^=view-]{animation:dsh-glass-in .26s var(--ds-ease-in-out)}[data-dsh-glass-float] [data-tool]{animation:dsh-glass-rise .3s var(--ds-ease-in-out) both}[data-dsh-glass-float] [role=dialog]{animation:dsh-glass-dialog-in .24s var(--ds-ease-in-out)}@keyframes dsh-glass-in{0%{opacity:0}}@keyframes dsh-glass-rise{0%{opacity:0;transform:translateY(6px)}}@keyframes dsh-glass-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}[data-dsh-glass] :focus-visible{outline:2px solid color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 85%, transparent);outline-offset:1px}[data-dsh-glass] ::selection{background:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 35%, transparent)}[data-dsh-glass-compat] [role=menu],[data-dsh-glass-compat] [data-composer-card],[data-dsh-glass-compat] [class*=popover],[data-dsh-glass-compat] [class*=dropdown],[data-dsh-glass-compat] [data-sidebar-right-panel][data-sidebar-right-open],[data-dsh-glass-compat] [data-sidebar-right-panel][data-sidebar-right-open] [class*=panel]{backdrop-filter:blur(12px)}[data-dsh-glass-compat] [role=menu],[data-dsh-glass-compat] [data-composer-card],[data-dsh-glass-compat] [class*=popover],[data-dsh-glass-compat] [class*=dropdown]{background:var(--dsh-glass-card-raised)}[data-dsh-glass-compat] [role=menu]:not(:focus-visible),[data-dsh-glass-compat] [data-composer-card]:not(:focus-visible),[data-dsh-glass-compat] [class*=popover]:not(:focus-visible),[data-dsh-glass-compat] [class*=dropdown]:not(:focus-visible){outline:1px solid var(--dsh-glass-rim);outline-offset:-1px}[data-dsh-glass-compat] [role=dialog][aria-modal=true]{background:var(--dsh-glass-card-raised);border:1px solid var(--dsh-glass-rim);backdrop-filter:blur(var(--dsh-glass-blur,12px))}@media (prefers-reduced-motion:reduce){[data-dsh-glass-float] [data-phase=hero],[data-dsh-glass-float] [data-phase=active],[data-dsh-glass-float] [data-testid^=view-],[data-dsh-glass-float] [data-tool],[data-dsh-glass-float] [role=dialog]{animation:none}}";
|
|
1957
1957
|
/** Legacy settings namespace (DSH <= 0.1.6-alpha.2): the Host registers it
|
|
1958
1958
|
* through `settings.installSection`, the Client binds it through
|
|
1959
1959
|
* `ctx.settingsScope` (see `src/settings-catppuccin.ts`). */
|