@nonamelego/dsh-catppuccin 0.6.2 → 0.6.3-beta.1
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 +17 -13
- package/README.md +15 -11
- package/lib/client.js +92 -11
- package/lib/client.js.map +1 -1
- package/lib/index.js +7 -4
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
package/README.en.md
CHANGED
|
@@ -60,7 +60,7 @@ remapping the whole interface to the matching palette, with a **Catppuccin** row
|
|
|
60
60
|
restored after restarts.
|
|
61
61
|
|
|
62
62
|
It also includes an optional **glassmorphism** skin: the top bar, sidebar, composer,
|
|
63
|
-
|
|
63
|
+
trajectory view, chat bubbles and the new-session button become frosted-glass
|
|
64
64
|
cards, with adjustable blur, frost and backdrop brightness. Glass colours follow the active
|
|
65
65
|
Catppuccin theme automatically.
|
|
66
66
|
|
|
@@ -73,14 +73,14 @@ Catppuccin theme automatically.
|
|
|
73
73
|
- 🔧 **Custom token overrides**: override individual colour tokens with `--dsw-* var: value` pairs (e.g. turn comments blue); persisted alongside the selected flavour
|
|
74
74
|
- 🖍️ **Code-block highlight style**: default / italic-comments shiki themes
|
|
75
75
|
- 🌐 Seven UI languages (Chinese / English / Japanese / Korean / Spanish / French / German, follows the system language)
|
|
76
|
-
- 🪟 **Glass skin** (Mica mode): frosted glass for the top bar / sidebar / composer /
|
|
76
|
+
- 🪟 **Glass skin** (Mica mode): frosted glass for the top bar / sidebar / composer /
|
|
77
77
|
trajectory view / chat bubbles / new-session button, one-click toggle in Settings;
|
|
78
78
|
mica & compatibility modes (Compatibility keeps the stock layout and only frosts the composer
|
|
79
79
|
card and floating layers), adjustable blur, frost and backdrop brightness
|
|
80
80
|
(interaction reference: [DSH-Transparent-UI-Plugin](https://github.com/WYH66666666/DSH-Transparent-UI-Plugin))
|
|
81
81
|
- 🌫️ **Glass details**: gradient blur bands at the top/bottom page edges, a floating glass
|
|
82
|
-
rail when the sidebar is collapsed,
|
|
83
|
-
content softens as it scrolls under the panes
|
|
82
|
+
rail when the sidebar is collapsed, an ambient theme-following ground (a same-family
|
|
83
|
+
wash + two soft glows) — content softens as it scrolls under the panes
|
|
84
84
|
- 🎨 Glass colours follow the current Catppuccin theme
|
|
85
85
|
- 🔄 **Update check**: one-click "Check for updates" in Settings compares the latest npm
|
|
86
86
|
version and gives you a copyable upgrade command; **auto-check is on by default** (once at
|
|
@@ -115,8 +115,8 @@ Actual screenshots from a local GUI (the header image is a diagonal blend of the
|
|
|
115
115
|
### Glass skin (Mica mode)
|
|
116
116
|
|
|
117
117
|
The frosted-glass effect in light (Latte) and dark (Mocha): the top bar, sidebar,
|
|
118
|
-
chat bubbles
|
|
119
|
-
past the page edges
|
|
118
|
+
chat bubbles and composer are all glass cards; messages soften as they scroll
|
|
119
|
+
past the page edges (screenshots from the local GUI):
|
|
120
120
|
|
|
121
121
|
<details>
|
|
122
122
|
<summary>🌻 Latte (light glass)</summary>
|
|
@@ -245,7 +245,7 @@ installing, launch `dsh --profile dsh-tui` and pick the theme with `/theme` —
|
|
|
245
245
|
|
|
246
246
|
Right below the **Catppuccin theme** row in **Settings → General** you'll find the **Glass** row:
|
|
247
247
|
|
|
248
|
-
- **Master switch**: on — the top bar, sidebar, composer
|
|
248
|
+
- **Master switch**: on — the top bar, sidebar, composer and trajectory view
|
|
249
249
|
become frosted glass; off — the UI reverts to stock instantly (no refresh needed).
|
|
250
250
|
- **Mode**: **Mica** turns the interface into floating frosted cards; **Compatibility** keeps
|
|
251
251
|
the stock layout and swaps only the material.
|
|
@@ -258,7 +258,8 @@ Right below the **Catppuccin theme** row in **Settings → General** you'll find
|
|
|
258
258
|
afterwards (a preset lights up when the current knob values match it).
|
|
259
259
|
- **Blur** (0–40 px) and **Frost** (0–100%): the blur radius and opacity of the glass.
|
|
260
260
|
- **Backdrop brightness**: dark mode darkens 0–50, light mode brightens 50–100 (50 = as-is),
|
|
261
|
-
mixed straight into the
|
|
261
|
+
mixed straight into the ground; at the extremes the ambience fades out and the ground
|
|
262
|
+
collapses back to pure white / pure black.
|
|
262
263
|
|
|
263
264
|
Glass colours follow the active theme live; all settings persist across restarts.
|
|
264
265
|
|
|
@@ -291,17 +292,20 @@ soft shadow) — letting the content behind show through, softened.
|
|
|
291
292
|
|
|
292
293
|
What this plugin does:
|
|
293
294
|
|
|
294
|
-
- **
|
|
295
|
+
- **Six glass areas**: top bar, sidebar, composer, trajectory view, chat
|
|
295
296
|
bubbles and the new-session button; in Mica mode they become rounded floating cards and
|
|
296
297
|
chat content scrolls *under* the glass, blurred; the collapsed sidebar becomes a
|
|
297
|
-
floating rail at the edge of the chat area
|
|
298
|
+
floating rail at the edge of the chat area (the "performance & usage" stats line is
|
|
299
|
+
*not* one of them — it stays stock, outside the glass card; see the `0.6.2`
|
|
300
|
+
"fused band removed" entry in the changelog);
|
|
298
301
|
- **Page-edge gradient blur**: a blur band at the top and bottom of the viewport so
|
|
299
302
|
messages are softened as they melt past the edges (borrowed from
|
|
300
303
|
[DSH-Transparent-UI-Plugin](https://github.com/WYH66666666/DSH-Transparent-UI-Plugin)'s
|
|
301
304
|
Aqua skin);
|
|
302
305
|
- **Theme-following colours**: Latte is light glass, Mocha dark glass — switching flavours
|
|
303
|
-
recolours instantly. The page ground
|
|
304
|
-
|
|
306
|
+
recolours instantly. The page ground rides the theme's own tokens plus a same-family
|
|
307
|
+
wash and two soft glows (see `docs/issue-25-ambient-ground.md`); the brightness knob
|
|
308
|
+
mixes white/black straight into its base stop;
|
|
305
309
|
- **One-click toggle**: off restores the stock UI exactly; uninstalling the plugin leaves
|
|
306
310
|
nothing behind.
|
|
307
311
|
|
|
@@ -315,7 +319,7 @@ matches are exactly these:
|
|
|
315
319
|
| Family | Anchor |
|
|
316
320
|
|---|---|
|
|
317
321
|
| Composer card | `[data-composer-card]` (the material is painted on its `::before`, see issue #19) |
|
|
318
|
-
| Menus | `[role='menu']` |
|
|
322
|
+
| Menus | `[data-menu-material='translucent']` (the host MenuSurface's own material hook — the recipe overrides the `--dsw-menu-surface-fill` / `--dsw-menu-backdrop-filter` its material plane reads) plus the hand-rolled-menu fallback `[role='menu']:not([data-menu-material]):not([data-menu-material] *)` |
|
|
319
323
|
| Popovers | `[class*='popover']` / `[class*='dropdown']` (still substrings) |
|
|
320
324
|
| Modal dialogs | `[role='dialog'][aria-modal='true']` |
|
|
321
325
|
| Host right sidebar (open state only) | `[data-sidebar-right-panel][data-sidebar-right-open]` |
|
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ Web / 桌面端做全界面换色与玻璃质感,TUI 端自动同步四套官
|
|
|
56
56
|
下方提供一行 **Catppuccin** 快捷切换,选择会自动保存、重启自动恢复。
|
|
57
57
|
|
|
58
58
|
同时内置一套可开关的**玻璃质感**(Glassmorphism)皮肤:顶栏、侧边栏、
|
|
59
|
-
|
|
59
|
+
输入框、轨迹视图、聊天气泡、新会话按钮都变成磨砂玻璃卡片,
|
|
60
60
|
模糊度、磨砂度、背景亮度均可自由调节,玻璃颜色自动跟随当前
|
|
61
61
|
Catppuccin 主题。
|
|
62
62
|
|
|
@@ -69,12 +69,13 @@ Catppuccin 主题。
|
|
|
69
69
|
- 🔧 **自定义 token 覆盖**:按「`--dsw-* 变量: 值`」逐条覆盖单个配色 token(例如把注释色换成蓝色),与所选风味一起持久保存
|
|
70
70
|
- 🖍️ **代码块高亮风格**:默认 / 注释斜体(italic-comments)两套 shiki 风格可选
|
|
71
71
|
- 🌐 中 / 英 / 日 / 韩 / 西 / 法 / 德七语文案(跟随系统语言)
|
|
72
|
-
- 🪟 **玻璃质感**(云母模式):顶栏 / 侧边栏 / 输入框 /
|
|
72
|
+
- 🪟 **玻璃质感**(云母模式):顶栏 / 侧边栏 / 输入框 / 轨迹视图 / 聊天气泡 /
|
|
73
73
|
新会话按钮磨砂玻璃效果,设置里一键开关;云母 / 兼容双模式(兼容模式保持原版排版,
|
|
74
74
|
只给输入框卡片与浮层上玻璃),模糊度、磨砂度、
|
|
75
75
|
背景亮度自由调节(交互参考 [DSH-Transparent-UI-Plugin](https://github.com/WYH66666666/DSH-Transparent-UI-Plugin))
|
|
76
76
|
- 🌫️ **玻璃拟态细节**:页面上下边缘渐变模糊、折叠侧边栏悬浮玻璃、
|
|
77
|
-
|
|
77
|
+
随主题的氛围地面(同色系渐变 + 两枚柔光斑)——内容滚入视口边缘时柔化穿过,
|
|
78
|
+
玻璃透着地面的明暗,层次更立体
|
|
78
79
|
- 🎨 玻璃配色自动跟随当前 Catppuccin 主题
|
|
79
80
|
- 🔄 **检查 Catppuccin 插件更新**:设置页一键检测本插件(dsh-catppuccin)在 npm 上的最新版本,发现新版直接给出可复制的升级命令;**默认开启自动检查**(启动后一次 + 每 6 小时),更新渠道可选稳定版 / Beta
|
|
80
81
|
- 💬 **反馈与支持**:设置区底部与插件详情页附 GitHub 链接——遇到问题可提 Issue,喜欢就点个 Star ⭐
|
|
@@ -104,8 +105,8 @@ Catppuccin 主题。
|
|
|
104
105
|
### 玻璃质感(Mica 云母模式)
|
|
105
106
|
|
|
106
107
|
同一会话在浅色(Latte)与深色(Mocha)下的磨砂玻璃效果:顶栏、侧边栏、
|
|
107
|
-
|
|
108
|
-
|
|
108
|
+
聊天气泡与输入框都是玻璃卡片,消息滚过页面边缘时被柔化
|
|
109
|
+
(截图来自本地 GUI):
|
|
109
110
|
|
|
110
111
|
<details>
|
|
111
112
|
<summary>🌻 Latte(浅色玻璃)</summary>
|
|
@@ -213,7 +214,7 @@ dsh plugin --profile dsh-tui add https://github.com/NoNameLeGo/dsh-catppuccin-th
|
|
|
213
214
|
|
|
214
215
|
在 **设置 → 常规** 的 **Catppuccin 主题** 正下方找到 **玻璃质感** 行:
|
|
215
216
|
|
|
216
|
-
-
|
|
217
|
+
- **总开关**:开启后顶栏、侧边栏、输入框、轨迹视图变为磨砂玻璃;
|
|
217
218
|
关闭即完全还原原生界面(无需刷新)。
|
|
218
219
|
- **模式**:**云母效果**把界面改成悬浮磨砂卡片;**兼容模式**保持原版排版,
|
|
219
220
|
只把材质换成玻璃。
|
|
@@ -226,7 +227,7 @@ dsh plugin --profile dsh-tui add https://github.com/NoNameLeGo/dsh-catppuccin-th
|
|
|
226
227
|
- **玻璃模糊度**(0–40 px)、**磨砂度**(0–100%):控制玻璃的模糊半径与
|
|
227
228
|
不透明度。
|
|
228
229
|
- **背景亮度**:深色模式 0–50 压暗、浅色模式 50–100 提亮(50 为原样),
|
|
229
|
-
|
|
230
|
+
直接调和进地面底色;拉到两端时氛围层淡出,回到纯白 / 纯黑。
|
|
230
231
|
|
|
231
232
|
玻璃配色自动跟随当前主题,切换 Latte / Frappé / Macchiato / Mocha 时即时
|
|
232
233
|
变色;所有设置跨重启自动恢复。
|
|
@@ -258,15 +259,18 @@ dsh plugin --profile dsh-tui add https://github.com/NoNameLeGo/dsh-catppuccin-th
|
|
|
258
259
|
|
|
259
260
|
本插件的具体效果:
|
|
260
261
|
|
|
261
|
-
-
|
|
262
|
+
- **六个区域玻璃化**:顶栏、侧边栏、输入框、轨迹视图、聊天气泡
|
|
262
263
|
和新会话按钮;云母模式下成为带圆角的悬浮卡片,聊天内容滚动时从玻璃
|
|
263
|
-
|
|
264
|
+
下方穿过、被模糊;折叠侧边栏时导航条同样悬浮在聊天区边缘
|
|
265
|
+
(「性能与用量」统计行不在此列——它保持上游原样,留在玻璃卡之外;见
|
|
266
|
+
CHANGELOG 的 `0.6.2`「拆除融合带」);
|
|
264
267
|
- **页面边缘渐变模糊**:视口上下各有一条渐变模糊带,消息滚到边缘时被
|
|
265
268
|
柔化穿过——内容在边界「融化」(借鉴
|
|
266
269
|
[DSH-Transparent-UI-Plugin](https://github.com/WYH66666666/DSH-Transparent-UI-Plugin)
|
|
267
270
|
的 Aqua 皮肤);
|
|
268
271
|
- **配色自动跟随主题**:Latte 是浅色玻璃、Mocha 是深色玻璃,切换主题即时
|
|
269
|
-
|
|
272
|
+
变色;页面地面取当前主题色,叠同色系渐变与柔光斑,背景亮度旋钮调和进
|
|
273
|
+
地面底色(详见 `docs/issue-25-ambient-ground.md`);
|
|
270
274
|
- **一键开关**:关闭即完全还原原生界面,插件卸载不留任何残留。
|
|
271
275
|
|
|
272
276
|
### 兼容模式误命中了别的面?
|
|
@@ -277,7 +281,7 @@ dsh plugin --profile dsh-tui add https://github.com/NoNameLeGo/dsh-catppuccin-th
|
|
|
277
281
|
| 族 | 锚点 |
|
|
278
282
|
|---|---|
|
|
279
283
|
| 输入框卡片 | `[data-composer-card]`(材质画在它的 `::before` 上,见 issue #19) |
|
|
280
|
-
| 菜单 | `[role='menu']` |
|
|
284
|
+
| 菜单 | `[data-menu-material='translucent']`(宿主 MenuSurface 的材质钩子;配方覆写它自带材质面读的 `--dsw-menu-surface-fill` / `--dsw-menu-backdrop-filter`)+ 手写菜单兜底 `[role='menu']:not([data-menu-material]):not([data-menu-material] *)` |
|
|
281
285
|
| 弹出层 | `[class*='popover']` / `[class*='dropdown']`(仍是子串) |
|
|
282
286
|
| 模态框 | `[role='dialog'][aria-modal='true']` |
|
|
283
287
|
| 宿主右侧栏(仅展开态) | `[data-sidebar-right-panel][data-sidebar-right-open]` |
|
package/lib/client.js
CHANGED
|
@@ -590,7 +590,7 @@ window.__ModuleLoader__.load({
|
|
|
590
590
|
* (item II — lazy CSS), so editing the stylesheet means editing
|
|
591
591
|
* glass.module.css and rebuilding.
|
|
592
592
|
*/
|
|
593
|
-
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-rim-strong:color-mix(in srgb, var(--dsw-alias-label-primary) 30%, 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);--dsh-glass-input-shadow:0 1px 2px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 65%, transparent), 0 8px 24px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 80%, 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-rim-strong:color-mix(in srgb, var(--dsw-alias-label-primary) 30%, transparent);--dsh-glass-edge:inset 0 1px 0 #ffffff14;--dsh-glass-drop:0 10px 32px #02060e73;--dsh-glass-input-shadow:0 1px 2px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 65%, transparent), 0 8px 24px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 80%, transparent)}[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-windows-titlebar] [data-dsh-glass-fade=top]{display:none}[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] [data-menu-material=translucent],[data-dsh-glass-float] [role=menu]:not([data-menu-material]):not([data-menu-material] *),[data-dsh-glass-float] [role=dialog],[data-dsh-glass-float] [role=alert],[data-dsh-glass-float] [data-trigger-menu],[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] [data-phase] 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] [data-phase] header:after{display:none}[data-dsh-glass-float] [data-dsh-glass-frame][data-sidebar-collapsed] [data-phase] 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);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] [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;isolation:isolate;border:1px solid var(--dsh-glass-rim-strong);box-shadow:var(--dsh-glass-input-shadow);background:0 0;position:relative}[data-dsh-glass-float] [data-composer-card]:before{content:\"\";z-index:-1;border-radius:inherit;background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px));pointer-events:none;position:absolute;inset:0}[data-dsh-glass-float] [data-dsh-glass-inputbar]:not([class*=hero]):not(:has([data-dsh-glass-stats])){padding-bottom:12px}[data-dsh-glass-float] [role=treeitem][aria-selected=true]{background:var(--dsw-alias-interactive-bg-hover)}[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)}[data-dsh-glass-float] [data-menu-material=translucent]:not(:focus-visible){--dsw-menu-surface-fill:var(--dsh-glass-card-raised);--dsw-menu-backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [role=menu]:not([data-menu-material]):not([data-menu-material] *){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] [data-menu-material=translucent]:has([role=group]>[role=menuitemradio]){--dsw-menu-surface-fill:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 70%, transparent)}[data-dsh-glass-float] [data-menu-group]:has(>[role=menuitemradio])>[data-menu-group-heading]{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]{--dsh-glass-entry-scale:1}[data-dsh-glass-compat]{--dsh-glass-entry-scale:0}[data-dsh-glass] [data-phase=hero]{animation:dsh-glass-in calc(.32s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out)}[data-dsh-glass] [data-phase=active]{animation:dsh-glass-in calc(.3s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out)}[data-dsh-glass] [data-testid^=view-]{animation:dsh-glass-in calc(.26s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out)}[data-dsh-glass] [data-tool]{animation:dsh-glass-rise calc(.3s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out) both}[data-dsh-glass] [role=dialog]{animation:dsh-glass-dialog-in calc(.24s * var(--dsh-glass-entry-scale,1)) 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]:not([data-menu-material]):not([data-menu-material] *),[data-dsh-glass-compat] [class*=popover],[data-dsh-glass-compat] [class*=dropdown]{backdrop-filter:blur(12px)}[data-dsh-glass-compat] [data-menu-material=translucent]:not(:focus-visible){--dsw-menu-surface-fill:var(--dsh-glass-card-raised);--dsw-menu-backdrop-filter:blur(12px)}[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]:not([data-menu-material]):not([data-menu-material] *),[data-dsh-glass-compat] [class*=popover],[data-dsh-glass-compat] [class*=dropdown]{background:var(--dsh-glass-card-raised)}[data-dsh-glass-compat] [data-composer-card]{isolation:isolate;backdrop-filter:none;background:0 0;position:relative}[data-dsh-glass-compat] [data-composer-card]:before{content:\"\";z-index:-1;border-radius:inherit;background:var(--dsh-glass-card-raised);backdrop-filter:blur(12px);pointer-events:none;position:absolute;inset:0}[data-dsh-glass-compat] [role=menu]:not([data-menu-material]):not([data-menu-material] *):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] [data-phase=hero],[data-dsh-glass] [data-phase=active],[data-dsh-glass] [data-testid^=view-],[data-dsh-glass] [data-tool],[data-dsh-glass] [role=dialog]{animation:none}}";
|
|
593
|
+
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-rim-strong:color-mix(in srgb, var(--dsw-alias-label-primary) 30%, 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);--dsh-glass-input-shadow:0 1px 2px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 65%, transparent), 0 8px 24px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 80%, transparent);--dsh-glass-ground: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%));--dsh-glass-ambience:calc(1 - var(--dsh-glass-brightness-white,0) - var(--dsh-glass-brightness-black,0));--dsh-glass-wash-tint:#fff;--dsh-glass-wash-mix:22%}[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-rim-strong:color-mix(in srgb, var(--dsw-alias-label-primary) 30%, transparent);--dsh-glass-edge:inset 0 1px 0 #ffffff14;--dsh-glass-drop:0 10px 32px #02060e73;--dsh-glass-input-shadow:0 1px 2px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 65%, transparent), 0 8px 24px color-mix(in srgb, var(--dsw-alias-bg-mask-2) 80%, transparent);--dsh-glass-wash-tint:var(--dsw-alias-bg-layer-1);--dsh-glass-wash-mix:68%}[data-dsh-glass] body{background: radial-gradient(58% 46% at 18% 6%, color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) calc(12% * var(--dsh-glass-ambience) * var(--dsh-glass-glow,0)), transparent), transparent 68%), radial-gradient(48% 42% at 86% 14%, color-mix(in srgb, var(--dsw-alias-state-success-tertiary) calc(10% * var(--dsh-glass-ambience) * var(--dsh-glass-glow,0)), transparent), transparent 62%), linear-gradient(165deg, color-mix(in srgb, var(--dsh-glass-ground), var(--dsh-glass-wash-tint) calc(var(--dsh-glass-wash-mix) * var(--dsh-glass-ambience))) 0%, var(--dsh-glass-ground) 55%, color-mix(in srgb, var(--dsh-glass-ground), #000 calc(5% * var(--dsh-glass-ambience))) 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-windows-titlebar] [data-dsh-glass-fade=top]{display:none}[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] [data-menu-material=translucent],[data-dsh-glass-float] [role=menu]:not([data-menu-material]):not([data-menu-material] *),[data-dsh-glass-float] [role=dialog],[data-dsh-glass-float] [role=alert],[data-dsh-glass-float] [data-trigger-menu],[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-float] [data-reader-reasoning-card]:not([data-overflow=false][data-expanded=false]),[data-dsh-glass-compat] [data-reader-reasoning-card]:not([data-overflow=false][data-expanded=false]){background:color-mix(in srgb, var(--dsw-alias-bg-module-platform) calc(52% * var(--dsh-glass-frost,1)), transparent);border-color:var(--dsh-glass-rim-soft);border-radius:14px}body[data-dsh-glass-float] [data-changed-files],body[data-dsh-glass-float] [data-presented-file]{--changes-fill:var(--dsh-glass-card);--deliverable-fill:var(--dsh-glass-card);border-color:var(--dsh-glass-rim-soft);border-radius:14px}body[data-dsh-glass-float] [data-presented-file],body[data-dsh-glass-float] [data-changed-files]{background:var(--dsh-glass-card)}body[data-dsh-glass-float] [data-changed-files]>:first-child,body[data-dsh-glass-float] [data-changed-files] ul>li>:first-child,body[data-dsh-glass-float] [data-changed-files] ul{background:0 0}body[data-dsh-glass-float] [data-changed-files] ul{border-top:.5px solid var(--dsh-glass-rim-soft)}body[data-dsh-glass-float] [data-changed-files]>:first-child>:first-child,body[data-dsh-glass-float] [data-presented-file]>:first-child{background:var(--dsh-glass-card-raised)}[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] [data-phase] header:not([class*=headerBlank]){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] [data-phase] header:not([class*=headerBlank]):after{display:none}[data-dsh-glass-float] [data-dsh-glass-frame][data-sidebar-collapsed] [data-phase] header:not([class*=headerBlank]){margin-left:28px}[data-dsh-glass-float] [class*=sidebarCol]{--dsw-specific-sidebar-fill:transparent;z-index:9;border:1px solid var(--dsh-glass-rim-soft);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] [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;isolation:isolate;border:1px solid var(--dsh-glass-rim-strong);box-shadow:var(--dsh-glass-input-shadow);background:0 0;position:relative}[data-dsh-glass-float] [data-composer-card]:before{content:\"\";z-index:-1;border-radius:inherit;background:var(--dsh-glass-card);box-shadow:var(--dsh-glass-edge);backdrop-filter:blur(var(--dsh-glass-blur,14px));pointer-events:none;position:absolute;inset:0}[data-dsh-glass-float] [data-dsh-glass-inputbar]:not([class*=hero]):not(:has([data-dsh-glass-stats])){padding-bottom:12px}[data-dsh-glass-float] [role=treeitem][aria-selected=true]{background:var(--dsw-alias-interactive-bg-hover)}[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)}[data-dsh-glass-float] [data-menu-material=translucent]:not(:focus-visible){--dsw-menu-surface-fill:var(--dsh-glass-card-raised);--dsw-menu-backdrop-filter:blur(var(--dsh-glass-blur,14px))}[data-dsh-glass-float] [role=menu]:not([data-menu-material]):not([data-menu-material] *){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] [data-menu-material=translucent]:has([role=group]>[role=menuitemradio]){--dsw-menu-surface-fill:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 70%, transparent)}[data-dsh-glass-float] [data-menu-group]:has(>[role=menuitemradio])>[data-menu-group-heading]{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]{--dsh-glass-entry-scale:1}[data-dsh-glass-compat]{--dsh-glass-entry-scale:0}[data-dsh-glass] [data-testid^=view-]{animation:dsh-glass-in calc(.26s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out)}[data-dsh-glass] [data-tool]{animation:dsh-glass-rise calc(.3s * var(--dsh-glass-entry-scale,1)) var(--ds-ease-in-out) both}[data-dsh-glass] [role=dialog]{animation:dsh-glass-dialog-in calc(.24s * var(--dsh-glass-entry-scale,1)) 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]:not([data-menu-material]):not([data-menu-material] *),[data-dsh-glass-compat] [class*=popover],[data-dsh-glass-compat] [class*=dropdown]{backdrop-filter:blur(12px)}[data-dsh-glass-compat] [data-menu-material=translucent]:not(:focus-visible){--dsw-menu-surface-fill:var(--dsh-glass-card-raised);--dsw-menu-backdrop-filter:blur(12px)}[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]:not([data-menu-material]):not([data-menu-material] *),[data-dsh-glass-compat] [class*=popover],[data-dsh-glass-compat] [class*=dropdown]{background:var(--dsh-glass-card-raised)}[data-dsh-glass-compat] [data-composer-card]{isolation:isolate;backdrop-filter:none;background:0 0;position:relative}[data-dsh-glass-compat] [data-composer-card]:before{content:\"\";z-index:-1;border-radius:inherit;background:var(--dsh-glass-card-raised);backdrop-filter:blur(12px);pointer-events:none;position:absolute;inset:0}[data-dsh-glass-compat] [role=menu]:not([data-menu-material]):not([data-menu-material] *):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] [data-testid^=view-],[data-dsh-glass] [data-tool],[data-dsh-glass] [role=dialog]{animation:none}}";
|
|
594
594
|
/** Legacy settings namespace (DSH <= 0.1.6-alpha.2): the Host registers it
|
|
595
595
|
* through `settings.installSection`, the Client binds it through
|
|
596
596
|
* `ctx.settingsScope` (see `src/settings-catppuccin.ts`). */
|
|
@@ -640,7 +640,8 @@ window.__ModuleLoader__.load({
|
|
|
640
640
|
mode: "mica",
|
|
641
641
|
blur: 5,
|
|
642
642
|
frost: 20,
|
|
643
|
-
brightness: 50
|
|
643
|
+
brightness: 50,
|
|
644
|
+
glow: false
|
|
644
645
|
};
|
|
645
646
|
/** Shipped update-check channel: chase the stable `latest` tag. */
|
|
646
647
|
const DEFAULT_UPDATE_CHANNEL = "latest";
|
|
@@ -708,6 +709,7 @@ window.__ModuleLoader__.load({
|
|
|
708
709
|
state.glass.blur = clampFinite(glass.blur, 0, 40, DEFAULT_GLASS.blur);
|
|
709
710
|
state.glass.frost = clampFinite(glass.frost, 0, 100, DEFAULT_GLASS.frost);
|
|
710
711
|
state.glass.brightness = clampFinite(glass.brightness, 0, 100, DEFAULT_GLASS.brightness);
|
|
712
|
+
state.glass.glow = glass.glow === true;
|
|
711
713
|
state.autoCheck = raw.autoCheck !== false;
|
|
712
714
|
state.updateChannel = raw.updateChannel === "beta" ? "beta" : "latest";
|
|
713
715
|
state.overrides = sanitizeOverrides(raw.overrides);
|
|
@@ -719,7 +721,7 @@ window.__ModuleLoader__.load({
|
|
|
719
721
|
* "no durable state yet" apart from "an explicit default choice". */
|
|
720
722
|
function isDefaultState(state) {
|
|
721
723
|
const expected = defaultState();
|
|
722
|
-
return state.flavor === expected.flavor && state.glass.enabled === expected.glass.enabled && state.glass.mode === expected.glass.mode && state.glass.blur === expected.glass.blur && state.glass.frost === expected.glass.frost && state.glass.brightness === expected.glass.brightness && state.autoCheck === expected.autoCheck && state.updateChannel === expected.updateChannel && Object.keys(state.overrides).length === 0 && state.shikiStyle === expected.shikiStyle;
|
|
724
|
+
return state.flavor === expected.flavor && state.glass.enabled === expected.glass.enabled && state.glass.mode === expected.glass.mode && state.glass.blur === expected.glass.blur && state.glass.frost === expected.glass.frost && state.glass.brightness === expected.glass.brightness && state.glass.glow === expected.glass.glow && state.autoCheck === expected.autoCheck && state.updateChannel === expected.updateChannel && Object.keys(state.overrides).length === 0 && state.shikiStyle === expected.shikiStyle;
|
|
723
725
|
}
|
|
724
726
|
/** Drop the synthetic `version` field: full state → settings-document section. */
|
|
725
727
|
function settingsSectionFromState(state) {
|
|
@@ -740,7 +742,7 @@ window.__ModuleLoader__.load({
|
|
|
740
742
|
/** Whether two settings sections are field-for-field equal (used to skip
|
|
741
743
|
* redundant mirror writes and to recognize the Host echoing our own write). */
|
|
742
744
|
function settingsSectionsEqual(a, b) {
|
|
743
|
-
return a.flavor === b.flavor && a.glass.enabled === b.glass.enabled && a.glass.mode === b.glass.mode && a.glass.blur === b.glass.blur && a.glass.frost === b.glass.frost && a.glass.brightness === b.glass.brightness && a.autoCheck === b.autoCheck && a.updateChannel === b.updateChannel && a.shikiStyle === b.shikiStyle && Object.keys(a.overrides).every((key) => b.overrides[key] === a.overrides[key]) && Object.keys(b.overrides).every((key) => a.overrides[key] === b.overrides[key]);
|
|
745
|
+
return a.flavor === b.flavor && a.glass.enabled === b.glass.enabled && a.glass.mode === b.glass.mode && a.glass.blur === b.glass.blur && a.glass.frost === b.glass.frost && a.glass.brightness === b.glass.brightness && a.glass.glow === b.glass.glow && a.autoCheck === b.autoCheck && a.updateChannel === b.updateChannel && a.shikiStyle === b.shikiStyle && Object.keys(a.overrides).every((key) => b.overrides[key] === a.overrides[key]) && Object.keys(b.overrides).every((key) => a.overrides[key] === b.overrides[key]);
|
|
744
746
|
}
|
|
745
747
|
//#endregion
|
|
746
748
|
//#region src/client/glass/glass-layer.ts
|
|
@@ -774,7 +776,8 @@ window.__ModuleLoader__.load({
|
|
|
774
776
|
mode: DEFAULT_GLASS.mode,
|
|
775
777
|
blur: DEFAULT_GLASS.blur,
|
|
776
778
|
frost: DEFAULT_GLASS.frost,
|
|
777
|
-
brightness: DEFAULT_GLASS.brightness
|
|
779
|
+
brightness: DEFAULT_GLASS.brightness,
|
|
780
|
+
glow: DEFAULT_GLASS.glow
|
|
778
781
|
};
|
|
779
782
|
/** Numeric knob keys and their localStorage names. */
|
|
780
783
|
const NUMERIC_KEYS = {
|
|
@@ -790,6 +793,8 @@ window.__ModuleLoader__.load({
|
|
|
790
793
|
* storage key, which silently killed cross-tab knob sync; audit F1). */
|
|
791
794
|
const NUMERIC_STORAGE_KEYS = Object.values(NUMERIC_KEYS);
|
|
792
795
|
const MODE_KEY = "dsh.catppuccin.glass.mode";
|
|
796
|
+
/** localStorage key of the ground-glow switch (issue #26). */
|
|
797
|
+
const GLOW_KEY = "dsh.catppuccin.glass.glow";
|
|
793
798
|
/** Clamp a numeric knob into its sane range. */
|
|
794
799
|
function clampSetting(key, value) {
|
|
795
800
|
const max = key === "blur" ? 40 : 100;
|
|
@@ -839,6 +844,21 @@ window.__ModuleLoader__.load({
|
|
|
839
844
|
localStorage.setItem(GLASS_ENABLED_KEY, String(value));
|
|
840
845
|
} catch {}
|
|
841
846
|
}
|
|
847
|
+
/** Read the ground-glow switch (absent storage means the shipped default: off). */
|
|
848
|
+
function readGlow() {
|
|
849
|
+
try {
|
|
850
|
+
const raw = localStorage.getItem(GLOW_KEY);
|
|
851
|
+
return raw === null ? SETTINGS_DEFAULTS.glow : raw === "true";
|
|
852
|
+
} catch {
|
|
853
|
+
return SETTINGS_DEFAULTS.glow;
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
/** Persist the ground-glow switch. */
|
|
857
|
+
function writeGlow(value) {
|
|
858
|
+
try {
|
|
859
|
+
localStorage.setItem(GLOW_KEY, String(value));
|
|
860
|
+
} catch {}
|
|
861
|
+
}
|
|
842
862
|
/** Resolved scheme from the theme service (falls back to the body attribute). */
|
|
843
863
|
function resolveDark(ctx) {
|
|
844
864
|
try {
|
|
@@ -888,7 +908,7 @@ window.__ModuleLoader__.load({
|
|
|
888
908
|
} else if (event.key === "dsh.catppuccin.glass.enabled") {
|
|
889
909
|
this.enabled = readEnabled();
|
|
890
910
|
this.sync();
|
|
891
|
-
} else if (event.key === MODE_KEY || NUMERIC_STORAGE_KEYS.includes(event.key)) {
|
|
911
|
+
} else if (event.key === MODE_KEY || event.key === GLOW_KEY || NUMERIC_STORAGE_KEYS.includes(event.key)) {
|
|
892
912
|
this.reloadSettings();
|
|
893
913
|
if (this.enabled) this.applySettings();
|
|
894
914
|
this.publish();
|
|
@@ -926,7 +946,8 @@ window.__ModuleLoader__.load({
|
|
|
926
946
|
mode: this.settings.mode,
|
|
927
947
|
blur: this.settings.blur,
|
|
928
948
|
frost: this.settings.frost,
|
|
929
|
-
brightness: this.settings.brightness
|
|
949
|
+
brightness: this.settings.brightness,
|
|
950
|
+
glow: this.settings.glow
|
|
930
951
|
};
|
|
931
952
|
}
|
|
932
953
|
/** Overlay durable state hydrated from the Host file: persist it to
|
|
@@ -938,13 +959,15 @@ window.__ModuleLoader__.load({
|
|
|
938
959
|
mode: remote.mode === "compat" ? "compat" : "mica",
|
|
939
960
|
blur: clampSetting("blur", remote.blur),
|
|
940
961
|
frost: clampSetting("frost", remote.frost),
|
|
941
|
-
brightness: clampSetting("brightness", remote.brightness)
|
|
962
|
+
brightness: clampSetting("brightness", remote.brightness),
|
|
963
|
+
glow: remote.glow === true
|
|
942
964
|
};
|
|
943
965
|
writeEnabled(this.enabled);
|
|
944
966
|
writeMode(this.settings.mode);
|
|
945
967
|
writeSetting("blur", this.settings.blur);
|
|
946
968
|
writeSetting("frost", this.settings.frost);
|
|
947
969
|
writeSetting("brightness", this.settings.brightness);
|
|
970
|
+
writeGlow(this.settings.glow);
|
|
948
971
|
this.sync();
|
|
949
972
|
}
|
|
950
973
|
/** Flip the layer: persist, then apply or retract every owned effect. */
|
|
@@ -989,6 +1012,14 @@ window.__ModuleLoader__.load({
|
|
|
989
1012
|
if (this.enabled) this.applySettings();
|
|
990
1013
|
this.publish();
|
|
991
1014
|
}
|
|
1015
|
+
/** Toggle the two static ground glows (issue #26; wash-only is the default). */
|
|
1016
|
+
setGlow(value) {
|
|
1017
|
+
if (value === this.settings.glow) return;
|
|
1018
|
+
this.settings.glow = value;
|
|
1019
|
+
writeGlow(value);
|
|
1020
|
+
if (this.enabled) this.applySettings();
|
|
1021
|
+
this.publish();
|
|
1022
|
+
}
|
|
992
1023
|
/** Restore every knob to the shipped defaults (persisted immediately). */
|
|
993
1024
|
resetDefaults() {
|
|
994
1025
|
this.settings = { ...SETTINGS_DEFAULTS };
|
|
@@ -996,6 +1027,7 @@ window.__ModuleLoader__.load({
|
|
|
996
1027
|
writeSetting("blur", this.settings.blur);
|
|
997
1028
|
writeSetting("frost", this.settings.frost);
|
|
998
1029
|
writeSetting("brightness", this.settings.brightness);
|
|
1030
|
+
writeGlow(this.settings.glow);
|
|
999
1031
|
if (this.enabled) this.applySettings();
|
|
1000
1032
|
this.publish();
|
|
1001
1033
|
}
|
|
@@ -1005,7 +1037,8 @@ window.__ModuleLoader__.load({
|
|
|
1005
1037
|
mode: readMode(),
|
|
1006
1038
|
blur: readSetting("blur"),
|
|
1007
1039
|
frost: readSetting("frost"),
|
|
1008
|
-
brightness: readSetting("brightness")
|
|
1040
|
+
brightness: readSetting("brightness"),
|
|
1041
|
+
glow: readGlow()
|
|
1009
1042
|
};
|
|
1010
1043
|
}
|
|
1011
1044
|
buildSnapshot() {
|
|
@@ -1032,6 +1065,7 @@ window.__ModuleLoader__.load({
|
|
|
1032
1065
|
const dark = this.dark;
|
|
1033
1066
|
style.setProperty("--dsh-glass-brightness-black", String(dark ? Math.max(0, (50 - this.settings.brightness) / 50) : 0));
|
|
1034
1067
|
style.setProperty("--dsh-glass-brightness-white", String(dark ? 0 : Math.max(0, (this.settings.brightness - 50) / 50)));
|
|
1068
|
+
style.setProperty("--dsh-glass-glow", this.settings.glow ? "1" : "0");
|
|
1035
1069
|
const compat = this.settings.mode === "compat";
|
|
1036
1070
|
document.documentElement.toggleAttribute(GLASS_FLOAT_ATTRIBUTE, !compat);
|
|
1037
1071
|
document.documentElement.toggleAttribute(GLASS_COMPAT_ATTRIBUTE, compat);
|
|
@@ -1273,8 +1307,8 @@ window.__ModuleLoader__.load({
|
|
|
1273
1307
|
* @param props - composed slot props.
|
|
1274
1308
|
* @returns the General section row.
|
|
1275
1309
|
*/
|
|
1276
|
-
function GlassRow({ t, getState, subscribe, setEnabled, setMode, setBlur, setFrost, setBrightness, resetDefaults }) {
|
|
1277
|
-
const { enabled, mode, blur, frost, brightness, dark } = (0, react.useSyncExternalStore)(subscribe, getState);
|
|
1310
|
+
function GlassRow({ t, getState, subscribe, setEnabled, setMode, setBlur, setFrost, setBrightness, setGlow, resetDefaults }) {
|
|
1311
|
+
const { enabled, mode, blur, frost, brightness, glow, dark } = (0, react.useSyncExternalStore)(subscribe, getState);
|
|
1278
1312
|
const bgMin = dark ? 0 : 50;
|
|
1279
1313
|
const bgMax = dark ? 50 : 100;
|
|
1280
1314
|
const bgDisplay = Math.min(bgMax, Math.max(bgMin, brightness));
|
|
@@ -1407,6 +1441,31 @@ window.__ModuleLoader__.load({
|
|
|
1407
1441
|
className: GlassRow_module_css_default.knobHint,
|
|
1408
1442
|
children: t(dark ? "glass.brightnessHintDark" : "glass.brightnessHintLight")
|
|
1409
1443
|
}),
|
|
1444
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1445
|
+
className: GlassRow_module_css_default.row,
|
|
1446
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
1447
|
+
className: GlassRow_module_css_default.rowLabel,
|
|
1448
|
+
children: t("glass.glow")
|
|
1449
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
1450
|
+
type: "button",
|
|
1451
|
+
role: "switch",
|
|
1452
|
+
"aria-checked": glow,
|
|
1453
|
+
"aria-label": t("glass.glow"),
|
|
1454
|
+
className: glow ? GlassRow_module_css_default.toggleOn : GlassRow_module_css_default.toggle,
|
|
1455
|
+
onClick: () => {
|
|
1456
|
+
setGlow(!glow);
|
|
1457
|
+
},
|
|
1458
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
1459
|
+
className: GlassRow_module_css_default.check,
|
|
1460
|
+
"aria-hidden": "true",
|
|
1461
|
+
children: glow ? "✓" : ""
|
|
1462
|
+
})
|
|
1463
|
+
})]
|
|
1464
|
+
}),
|
|
1465
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1466
|
+
className: GlassRow_module_css_default.rowHint,
|
|
1467
|
+
children: t("glass.glowHint")
|
|
1468
|
+
}),
|
|
1410
1469
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1411
1470
|
className: GlassRow_module_css_default.row,
|
|
1412
1471
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
@@ -2089,6 +2148,8 @@ window.__ModuleLoader__.load({
|
|
|
2089
2148
|
"glass.brightness": "背景亮度",
|
|
2090
2149
|
"glass.brightnessHintDark": "深色模式:0 压暗至纯黑,50 原样",
|
|
2091
2150
|
"glass.brightnessHintLight": "浅色模式:50 原样,100 提亮至纯白",
|
|
2151
|
+
"glass.glow": "地面光斑",
|
|
2152
|
+
"glass.glowHint": "在渐变地面上叠加两枚柔光斑(0.6.3 的观感)。光斑固定在屏幕上,各块玻璃面板会透出它的不同部位,所以默认关闭;打开后左上角会明显偏亮",
|
|
2092
2153
|
"glass.reset": "还原默认值",
|
|
2093
2154
|
"update.title": "检查 Catppuccin 插件更新",
|
|
2094
2155
|
"update.description": "检测本插件(dsh-catppuccin)在 npm 上的最新版本,判断当前安装是否需要升级。",
|
|
@@ -2169,6 +2230,8 @@ window.__ModuleLoader__.load({
|
|
|
2169
2230
|
"glass.brightness": "Backdrop brightness",
|
|
2170
2231
|
"glass.brightnessHintDark": "Dark mode: 0 fades to pure black, 50 unchanged",
|
|
2171
2232
|
"glass.brightnessHintLight": "Light mode: 50 unchanged, 100 brightens to pure white",
|
|
2233
|
+
"glass.glow": "Ground glows",
|
|
2234
|
+
"glass.glowHint": "Adds the two soft radial glows back on top of the gradient ground (the 0.6.3 look). They are pinned to the screen while the glass panes sit elsewhere, so each pane transmits a different slice of them — off by default; turning it on visibly brightens the top-left corner",
|
|
2172
2235
|
"glass.reset": "Reset to defaults",
|
|
2173
2236
|
"update.title": "Check for Catppuccin plugin updates",
|
|
2174
2237
|
"update.description": "Checks npm for the latest dsh-catppuccin release and whether this install is current.",
|
|
@@ -2249,6 +2312,8 @@ window.__ModuleLoader__.load({
|
|
|
2249
2312
|
"glass.brightness": "背景の輝度",
|
|
2250
2313
|
"glass.brightnessHintDark": "ダーク: 0 で純黒、50 でそのまま",
|
|
2251
2314
|
"glass.brightnessHintLight": "ライト: 50 でそのまま、100 で純白",
|
|
2315
|
+
"glass.glow": "地面の光だまり",
|
|
2316
|
+
"glass.glowHint": "グラデーションの地面に 2 つの柔らかな光だまりを重ねます(0.6.3 の見た目)。光だまりは画面に固定され、各ガラス面はその別々の部分を透かすため、既定ではオフ。オンにすると左上が明るくなります",
|
|
2252
2317
|
"glass.reset": "デフォルトに戻す",
|
|
2253
2318
|
"update.title": "Catppuccin プラグインの更新を確認",
|
|
2254
2319
|
"update.description": "npm 上の dsh-catppuccin 最新版を確認し、このインストールが最新かどうかを判断します。",
|
|
@@ -2329,6 +2394,8 @@ window.__ModuleLoader__.load({
|
|
|
2329
2394
|
"glass.brightness": "배경 밝기",
|
|
2330
2395
|
"glass.brightnessHintDark": "다크 모드: 0이면 순수 검정, 50이면 그대로",
|
|
2331
2396
|
"glass.brightnessHintLight": "라이트 모드: 50이면 그대로, 100이면 순수 흰색",
|
|
2397
|
+
"glass.glow": "지면 광점",
|
|
2398
|
+
"glass.glowHint": "그라데이션 지면 위에 부드러운 광점 두 개를 다시 올립니다(0.6.3 모양). 광점은 화면에 고정되어 각 유리 패널이 서로 다른 부분을 비추므로 기본값은 꺼짐이며, 켜면 왼쪽 위가 밝아집니다",
|
|
2332
2399
|
"glass.reset": "기본값으로 되돌리기",
|
|
2333
2400
|
"update.title": "Catppuccin 플러그인 업데이트 확인",
|
|
2334
2401
|
"update.description": "npm의 최신 dsh-catppuccin 버전을 확인하고 현재 설치가 최신인지 판단합니다.",
|
|
@@ -2409,6 +2476,8 @@ window.__ModuleLoader__.load({
|
|
|
2409
2476
|
"glass.brightness": "Brillo del fondo",
|
|
2410
2477
|
"glass.brightnessHintDark": "Modo oscuro: 0 atenúa a negro puro, 50 sin cambios",
|
|
2411
2478
|
"glass.brightnessHintLight": "Modo claro: 50 sin cambios, 100 aclara hasta blanco puro",
|
|
2479
|
+
"glass.glow": "Destellos del fondo",
|
|
2480
|
+
"glass.glowHint": "Vuelve a añadir los dos destellos radiales suaves sobre el fondo degradado (el aspecto de 0.6.3). Están fijados a la pantalla y cada panel de vidrio deja pasar una parte distinta, por eso está desactivado por defecto; al activarlo se aclara la esquina superior izquierda",
|
|
2412
2481
|
"glass.reset": "Restablecer valores",
|
|
2413
2482
|
"update.title": "Comprobar actualizaciones del plugin Catppuccin",
|
|
2414
2483
|
"update.description": "Comprueba en npm la última versión de dsh-catppuccin y si esta instalación está al día.",
|
|
@@ -2489,6 +2558,8 @@ window.__ModuleLoader__.load({
|
|
|
2489
2558
|
"glass.brightness": "Luminosité du fond",
|
|
2490
2559
|
"glass.brightnessHintDark": "Mode sombre : 0 atténue vers le noir pur, 50 inchangé",
|
|
2491
2560
|
"glass.brightnessHintLight": "Mode clair : 50 inchangé, 100 éclaircit vers le blanc pur",
|
|
2561
|
+
"glass.glow": "Halos du fond",
|
|
2562
|
+
"glass.glowHint": "Rajoute les deux halos radiaux doux sur le fond dégradé (l'aspect 0.6.3). Ils sont fixés à l'écran et chaque panneau de verre en laisse passer une partie différente, d'où la valeur par défaut désactivée ; l'activer éclaircit le coin supérieur gauche",
|
|
2492
2563
|
"glass.reset": "Restaurer les valeurs",
|
|
2493
2564
|
"update.title": "Vérifier les mises à jour du plugin Catppuccin",
|
|
2494
2565
|
"update.description": "Interroge npm pour la dernière version de dsh-catppuccin et indique si cette installation est à jour.",
|
|
@@ -2569,6 +2640,8 @@ window.__ModuleLoader__.load({
|
|
|
2569
2640
|
"glass.brightness": "Hintergrundhelligkeit",
|
|
2570
2641
|
"glass.brightnessHintDark": "Dunkelmodus: 0 verdunkelt zu reinem Schwarz, 50 unverändert",
|
|
2571
2642
|
"glass.brightnessHintLight": "Hellmodus: 50 unverändert, 100 hellt zu reinem Weiß auf",
|
|
2643
|
+
"glass.glow": "Hintergrund-Lichtflecken",
|
|
2644
|
+
"glass.glowHint": "Legt die beiden weichen Lichtflecken wieder über den Verlaufs-Hintergrund (das Aussehen von 0.6.3). Sie sind am Bildschirm fixiert und jede Glasscheibe lässt einen anderen Ausschnitt durch, deshalb standardmäßig aus; eingeschaltet hellt sich die linke obere Ecke auf",
|
|
2572
2645
|
"glass.reset": "Standardwerte wiederherstellen",
|
|
2573
2646
|
"update.title": "Catppuccin-Plugin-Updates prüfen",
|
|
2574
2647
|
"update.description": "Prüft die neueste dsh-catppuccin-Version auf npm und ob diese Installation aktuell ist.",
|
|
@@ -3723,6 +3796,11 @@ window.__ModuleLoader__.load({
|
|
|
3723
3796
|
path: ["glass", "brightness"],
|
|
3724
3797
|
value: section.glass.brightness
|
|
3725
3798
|
},
|
|
3799
|
+
{
|
|
3800
|
+
op: "set",
|
|
3801
|
+
path: ["glass", "glow"],
|
|
3802
|
+
value: section.glass.glow
|
|
3803
|
+
},
|
|
3726
3804
|
{
|
|
3727
3805
|
op: "set",
|
|
3728
3806
|
path: ["autoCheck"],
|
|
@@ -4416,6 +4494,9 @@ window.__ModuleLoader__.load({
|
|
|
4416
4494
|
setBrightness: (brightness) => {
|
|
4417
4495
|
glass.setBrightness(brightness);
|
|
4418
4496
|
},
|
|
4497
|
+
setGlow: (glow) => {
|
|
4498
|
+
glass.setGlow(glow);
|
|
4499
|
+
},
|
|
4419
4500
|
resetDefaults: () => {
|
|
4420
4501
|
glass.resetDefaults();
|
|
4421
4502
|
}
|