Skip to content

小窗浏览器 v1.4.3

Choose a tag to compare

@azurplain azurplain released this 07 Sep 09:59
· 4 commits to master since this release
1dbd2fe

小窗浏览器 v1.4.3

v1.4.3 是一次集中的稳定性与性能修复,重点处理外部窗口、系统 OSD 或游戏获得焦点后的卡顿/热键问题,以及新标签等待、沉浸焦点、挖孔刷新和顶部吸附留缝。

下载与升级

下载 Mini-Window-Browser-v1.4.3-x64.zip,完整解压后运行 XiaoChuang.exe。请保持 XiaoChuang.exe 与 WebView2Loader.dll 在同一目录。

从旧版升级时,请先退小窗,再覆盖程序文件。可保留自己的 config.ini 和 XiaoChuang.exe.WebView2 数据目录;发布包本身不包含配置、缓存、Cookie 或浏览历史。

重点修复

外部窗口不再卡住小窗

  • 输入保护的跨程序识别已从主界面线程移出。即使音量 OSD、系统通知、Electron/CEF 程序或其他辅助功能控件响应较慢,也不会再同步卡住视频、挖孔和主窗口。
  • 慢速检测返回时会再次校验前台窗口、线程与焦点,不会用过期结果误关或误开热键。
  • 聚焦事件经过合并,置顶仅在真正的前台窗口变化后重申,减少游戏与小窗之间切换时的无用工作。

热键与输入保护

  • 修复按键或鼠标释放事件丢失后的残留状态,快进/快退长按会在物理按键已释放时自动收尾。
  • 0 与 9 使用独立防抖,快速切换沉浸后仍可正常隐藏小窗。
  • 地址栏、网页输入框和可识别的外部输入控件会暂停全部小窗热键,包括隐藏/显示;Electron/CEF 输入增加 TextPattern 支持。
  • 进入沉浸时会将小窗中残留的键盘焦点安全转移到原前台程序,网页视频全屏不再被 Esc 误退出。
  • 每项快捷键新增独立“启用”勾选框。停用后会释放该键且保留原绑定,重新勾选即可恢复;状态会写入配置并随预设保存。

标签与 WebView2 自恢复

  • 网页请求打开新窗口时,改为等 WebView2 事件返回后再创建并切换标签,避免在回调中立即停止/重导航造成丢失。
  • 标签切换和导航增加 15 秒看门狗;页面关闭请求、下载开始或异常导航后都会退出遮罩,不再永久白屏或留在“正在加载”。
  • WebView2 渲染/浏览器进程失败后会非模态、去重延迟重建,不再用阻塞弹窗打断游戏。

沉浸、挖孔与顶部吸附

  • 小窗吸附在显示器物理上边缘时,进入沉浸隐藏顶部栏后,网页内容会立即补位到显示器顶部;退出后恢复原尺寸和位置。
  • 挖孔更新限制为约 20Hz 并按 4px 合并,光标离开窗口或小窗隐藏时不再持续改区域。
  • 区域更新会显式请求重绘,减少暂停视频或静态页面时的挖孔残影。
  • 窗口样式切换不再禁止必要重绘,置顶重申也不再导致 WebView 重新布局,减少顶部色条、闪白与不必要的合成。

预设与配置

  • 场景预设现在一并保存“网页全屏自动调整”、“全屏后锁定比例”、“最大化顶部拖动”及每项快捷键的启用状态。
  • 应用预设后会同步输入保护、热键、托盘、全部标签和当前标签;主题和 GPU 模式仍保持应用全局。
  • config.ini 使用临时文件落盘后原子替换,损坏的热键键值会自动回退默认设置。

其他改进

  • 复用 Direct2D 控件绘制资源,最小化时不再用 0×0 尺寸重排全部控件。
  • 异常网址只允许 HTTP、HTTPS、file 和 about:blank 进入延迟新标签路径。
  • 热键冲突提示会先短暂重试并对同一冲突去重;剪贴板写入失败不再误报“复制成功”。
  • “复制诊断信息”增加热键管理器、输入保护/UIA 状态和 UI 最大心跳间隔,方便后续区分网页、小窗与系统合成的性能问题。

验证

  • Release x64 和 x86 使用 C++20、/W4 构建。
  • 110 项核心逻辑测试覆盖配置迁移/原子写入、逐项快捷键启停、热键按压释放与自愈、输入保护、媒体选择、预设完整恢复、窗口几何和诊断字符串解码。
  • x64 真实窗口回归覆盖前后台热键、点按/长按快进快退、输入保护、鼠标中键/双侧键、托盘恢复、页面全屏比例、挖孔、顶部吸附沉浸、快速 0/9、二次启动恢复与干净退出。
  • 正式 EXE 版本为 1.4.3.0,清单保持 requireAdministrator。

使用提示

  • 小窗吸附后如需移开,请按住 Ctrl 再拖动。
  • 真正绕过 DWM 的独占全屏游戏无法由普通桌面窗口可靠覆盖,建议使用无边框全屏或窗口化全屏。
  • 完全自绘且不暴露系统辅助功能的聊天框仍可能无法被输入保护识别;这时请先不要将裸键绑定为聊天常用字符。

完整说明见压缩包内 README-使用说明.md,全部变更见 CHANGELOG.md。