Skip to content

v0.1.10

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Aug 10:46
· 8 commits to master since this release

v0.1.10

[0.1.10] - 2026-08-14

变更

  • 自绘标题栏(无边框窗口):彻底解决"主题切换后标题栏不刷新"(实测本机 DWM 属性切换后标题栏画面只有焦点变化才重绘,SWP_FRAMECHANGED / RedrawWindow / WM_NCPAINT 等全部无效)——像浏览器一样自己画标题栏:主题切换 = 改自绘颜色,即时生效。标题栏含主题鲸鱼图标、标题、MDL2 字形窗口按钮(最小化/最大化还原/关闭,带 hover 效果、关闭红色)、拖拽移动、双击最大化、右键系统菜单、边缘 8px 缩放、最大化限制在工作区(不遮任务栏)
  • 标题栏 DPI 自适应:标题栏高度/按钮/图标按 DeviceDpi 缩放(125%/150%/200% 都协调);跨 DPI 显示器移动窗口(DpiChanged)自动重算布局;四周 1px 高对比边框替代阴影提升质感(带 WebView2 的无边框窗口无法获得系统阴影——WebView2 是不透明子窗口,与透明边距/扩展帧方案冲突)
  • 配置位置迁移到 dsh 主目录:settings.json / 启动轨迹日志 / 服务 PID 记录从 %LOCALAPPDATA%\dsh-launcher 移到 DSH_HOME\dsh-launcher(默认 ~/.dsh,与 dsh 生态一致——dsh 自己的设置如 settings.yaml 也在 DSH_HOME;不散落在 LOCALAPPDATA,清理/迁移时跟着 dsh 走)。启动时自动迁移旧数据(保留设置值)并清理旧目录,卸载后无残留;WebView2 用户数据保持在 %LOCALAPPDATA%\DshWeb(浏览器标准位置,会话登录态随壳走)
  • 主题以用户的选择为主:壳读取 dsh 设置页的主题选择(DSH_HOME/settings.yamlui-theme.preference,dark/light/system),而不是只跟随系统;深色 → 白色鲸鱼 + 深色标题栏,浅色 → 深色鲸鱼 + 浅色标题栏,切换实时生效(FileSystemWatcher 即时 + 500ms 轮询兜底)
  • 托盘交互优化左键单击 = 窗口置顶显示(开着就提到最上层并聚焦,最小化先还原,不会误关窗口);右键 = 只弹菜单(不动窗口);"显示 / 隐藏窗口"保留在右键菜单里供手动隐藏
  • 托盘菜单样式 v2:Win11 风格圆角浮层 + MDL2 图标(眼睛=显示/隐藏、电源=退出)+ 文字垂直居中(离屏渲染像素级验证图标与文字中心差 0px)+ 内容自适应宽度
  • 双色小鲸鱼图标:托盘图标与系统任务栏图标固定白色鲸鱼(深色背景看不清深色鲸鱼);窗口标题栏小图标跟随主题(深色 → 白色鲸鱼,浅色 → 深色鲸鱼)
  • 插件改名:配套插件设置页"服务停留模式"更名为 "Node 服务驻留"(文案点明 node 服务与托盘的关系);侧边栏导航图标不再用默认齿轮(本机定制了 dsh 包的 navIcon 映射,dsh 升级后需重新应用,见插件 README)
  • README 增加"与 dsh 插件联动"章节(安装命令、设置文件位置、模式切换入口说明)

修复

  • 自绘标题栏遮挡内容:Dock 布局下 WebView2 从 y=0 填充盖住标题栏区域,内容顶部被挡——改为手动 Bounds + Anchor(内容从标题栏下方开始、四边跟随窗口缩放),实测窗口尺寸任意调整布局正常
  • 最小化后托盘单击"点不回来":最小化窗口忽略 Activate()——单击托盘先 SW_RESTORE 还原再激活
  • 深色模式下窗口/任务栏鲸鱼"消失":主题与图标配色逻辑写反(深色主题误用深色鲸鱼)——深色主题用白色鲸鱼、浅色用深色鲸鱼
  • 主题解析误读其他配置段ui-theme.preference 的解析严格限定在 ui-theme 段内,不再误读其他段的同名字段
  • 关闭窗口卡 1-2 秒:① 不再显式 Dispose WebView2(进程退出后浏览器子进程自动清理);② 停服务改为异步 + 内存缓存服务 PID(关窗不再跑 netstat)——实测关窗到进程退出约 100ms
  • 服务模式"常驻"被重置:设置读取兼容旧路径(%LOCALAPPDATA%,旧插件写入位置)——新位置读不到时回退旧值并迁移;插件侧同时修复"每次启动无条件写回默认"(见插件 CHANGELOG)
  • 托盘唤起后立即重载页面可能崩溃(实测 0xc0000005 / .NET Runtime internal error):隐藏→恢复→立即 Reload() 与 WebView2 的可见性处理存在竞态;改为延迟 500ms 且窗口再次隐藏时放弃并留待下次恢复
  • 崩溃后服务残留无人管理:壳拉起的服务 PID 记录到数据目录;下次启动若发现该 PID 仍在监听,自动接管("跟随窗口"关窗时一并停掉),避免进程崩溃后 node 服务永久残留占内存
  • 插件每次启动把服务模式重置为默认:插件 apply 只在无显式配置且文件缺失时写默认值,用户通过设置页的选择不再被覆盖

校验和 (SHA256)

ba7a4e3d449875f5ac8b93a2149e88df240c428c40b36ff036d04bd16db343f0  dsh-launcher-windows.zip
3e02b3552d986525a2d6fcb3b659925fc2fdaafb81e290db08273d54f40b6bdb  dsh-launcher-0.1.10.msi

安装与卸载 / Install & Uninstall

MSI 安装包(推荐新手):双击安装,向导里可勾选是否开机自启;自动创建桌面与开始菜单快捷方式(含"卸载 dsh-launcher")。卸载:设置 → 应用 → dsh-launcher → 卸载。

便携版 ZIP:解压即用,双击 DshWeb.exe;删文件夹即卸载(自启/快捷方式用 uninstall-autostart.cmd 清理)。

MSI 与 ZIP 内容完全相同;区别只在安装方式:MSI 有标准安装/卸载流程,适合新手;ZIP 免安装,适合便携党。
The MSI and ZIP contain the same files; the MSI adds a standard install/uninstall flow for new users, the ZIP is portable and install-free.