fix(desktop): 设置窗口尺寸回归内容实际大小 + 原生贴形阴影 + 红绿灯对齐 + 显式拖拽权限(12A 实测反馈)
ci / server (push) Failing after 10s
ci / design-system (push) Failing after 11s

- 去掉 16px CSS 阴影边距方案(窗口比观感大、外圈灰影、点击区域错位):
  transparent 窗口开 macOS 原生阴影,阴影贴合内容圆角,窗口 440x560
  即卡片本体
- trafficLightPosition {16,12}:红绿灯垂直居中于 36px 自绘顶条,与
  「dudu 设置」标题对齐
- capabilities 显式加 core:window:allow-start-dragging,保证
  data-tauri-drag-region 拖拽可用

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-07-11 07:52:23 +08:00
parent b914aebb00
commit 559e224301
4 changed files with 23 additions and 11 deletions
+13 -2
View File
@@ -2,6 +2,17 @@
"$schema": "../gen/schemas/desktop-schema.json",
"identifier": "default",
"description": "所有窗口的基础能力:核心 IPCinvoke/listen+ 全局快捷键",
"windows": ["settings", "overlay", "tray", "login", "feedback", "onboarding"],
"permissions": ["core:default", "global-shortcut:default"]
"windows": [
"settings",
"overlay",
"tray",
"login",
"feedback",
"onboarding"
],
"permissions": [
"core:default",
"global-shortcut:default",
"core:window:allow-start-dragging"
]
}
@@ -1 +1 @@
{"default":{"identifier":"default","description":"所有窗口的基础能力:核心 IPCinvoke/listen+ 全局快捷键","local":true,"windows":["settings","overlay","tray","login","feedback","onboarding"],"permissions":["core:default","global-shortcut:default"]}}
{"default":{"identifier":"default","description":"所有窗口的基础能力:核心 IPCinvoke/listen+ 全局快捷键","local":true,"windows":["settings","overlay","tray","login","feedback","onboarding"],"permissions":["core:default","global-shortcut:default","core:window:allow-start-dragging"]}}
+5 -5
View File
@@ -15,17 +15,17 @@
"label": "settings",
"title": "dudu 设置",
"url": "index.html",
"width": 472,
"height": 592,
"width": 440,
"height": 560,
"resizable": false,
"visible": false,
"titleBarStyle": "Overlay",
"hiddenTitle": true,
"transparent": true,
"shadow": false,
"shadow": true,
"trafficLightPosition": {
"x": 30,
"y": 28
"x": 16,
"y": 12
}
},
{
+4 -3
View File
@@ -61,12 +61,13 @@ export function SettingsApp() {
const trialUsedMin = me ? Math.floor(me.trial_used_today / 60) : 0;
return (
// 透明窗口自绘 MacWindow 框(对齐原型):16px 阴影边距 + radius-md + border + shadow-window。
// 透明窗口自绘 MacWindow 框(对齐原型):radius-md + border-1,占满窗口,
// 阴影用 macOS 原生(贴合内容圆角,窗口即卡片实际尺寸)。
// 原生 NSWindow 底色在深色内容外露白边,故窗口 transparent、框由页面画。
<div style={{
fontFamily: 'var(--font-sans)', position: 'fixed', inset: 16,
fontFamily: 'var(--font-sans)', position: 'fixed', inset: 0,
background: 'var(--bg-app)', borderRadius: 'var(--radius-md)',
border: '1px solid var(--border-1)', boxShadow: 'var(--shadow-window)',
border: '1px solid var(--border-1)',
overflow: 'hidden', display: 'flex', flexDirection: 'column',
}}>
{/* 自绘顶条:系统红绿灯悬浮于左上(trafficLightPosition 已对齐),留 76px;整条可拖拽 */}