中文
功能特性
- (菜单) 改进亚克力绘制方式,优化展开动画(感谢 @cnbluefire 的 Windows.UI.Composition 亚克力 DEMO)
- (注入) 允许禁用自动禁用
- (菜单) 弹出菜单忽略初始鼠标状态
- (更新) 新增自动更新能力,支持启动时自动检查并下载更新
- (菜单) 补充延迟菜单状态同步,后置修改的菜单状态也能正确生效
- (配置) 新增
ExplorerFrame Patch开关,并补充中英文本地化 - (脚本) 新增
textarea、文本编辑onkeydown/取消事件,以及字重支持 - (脚本) 新增
textarea元素,调整/更改默认动画 - (兼容) 为 Windows 11 左侧栏场景补充支持
- (配置) 监听配置文件变更并自动同步
- (日志) 日志现在会同时写入文件
- (稳定性) 增强警告上报功能,避免 JS 上下文销毁后调用函数时崩溃
问题修复
- (主题) 修复无法随系统切换明暗主题的问题
- (菜单) 修复
TPM_RETURNCMD场景下误发WM_COMMAND的问题 - (菜单) 修复子菜单索引传递错误、菜单出现方向异常,以及向上展开时的反向动画问题
- (菜单)
WM_INITMENUPOPUP的lParam中传递正确的子菜单项索引(@lidaixingchen) - (菜单) 当已反向但
reverse_if_open_to_up开启时,动画不应再反向 - (渲染) 修复无亚克力效果时的边框绘制问题,并改进高 DPI 下的栅格化表现
- (渲染) 更新
breeze-ui版本及哈希到 2026.04.12 - (渲染) 菜单渲染中渲染目标初始化失败时返回
shared_ptr - (渲染) 处理菜单渲染中渲染目标初始化失败的情况
- (亚克力) 修复亚克力背景效果异常
- (键盘) 改进键盘操作体验,并修复主菜单按左键时可能崩溃的问题
- (配置) 修复导出默认配置会干扰当前配置的问题
- (兼容) 移除清空回收站的无效条件,提升 explorer 兼容性
- (兼容) 让
explorerframe.dll补丁更通用 - (剪贴板) 增加
set_text/get_text方法,并停止事件循环 - (稳定性) 更新
blook依赖以修复部分崩溃问题 - (编译) 修复编译问题
- (UI) 更新
breeze-ui依赖 - (JS) 窗口关闭时将
owner_rt置空,并正确卸载
文档
- (文档) 更新动画相关说明
代码重构
- (核心) 迁移到
breeze-js - (核心) 提取
populate_folder_view_context为独立函数 - (亚克力) 使用
Windows.UI.Composition重构亚克力效果 - (线程) 将 JS 线程初始化移到独立函数
- (事件循环) 提取事件循环到独立函数
- (控制台) 仅在需要时分配控制台,不再使用
freopen - (依赖) 将
dependencies重命名为deps - (日志) 迁移到
spdlog和fmtlib
构建系统
- (构建) 添加
breeze-js依赖,改进yalantinglibs依赖
杂项
- (版本) 版本号更新
- (依赖) 移除
glfw子模块
English
Features
- (inject) Prevent the inject module from being automatically disabled
- (menu) Make popup menus ignore the initial mouse state
- (update) Add auto-update support, including automatic checking and downloading on startup
- (menu) Sync late menu state updates so post-created menu state changes apply correctly
- (config) Add an
ExplorerFrame Patchtoggle with Chinese and English localization - (script) Add
textarea, text-editonkeydownand cancel events, plus font-weight support - (script) Add
textareaelement and adjust/change default animation - (compat) Add support for Windows 11 sidebar scenarios
- (config) Watch config file changes and sync automatically
- (log) Write logs to file in addition to the console
- (stability) Add warning reporting functionality and no longer crash after JS context has been destroyed
Fixes
- (theme) Fix light and dark mode not switching with the system
- (menu) Fix incorrect
WM_COMMANDdispatch when usingTPM_RETURNCMD - (menu) Fix submenu index handling, incorrect popup direction, and reverse animation issues when opening upward
- (menu) Pass correct menu item index in
WM_INITMENUPOPUPlParamfor submenus - (menu) Should not reverse animation if already reversed but
reverse_if_open_to_upis on - (render) Fix border rendering without acrylic and improve rasterization on high-DPI displays
- (render) Update
breeze-uiversion and hash to 2026.04.12 - (render) Return
shared_ptrfor null render target initialization in menu_render - (render) Handle render target initialization failure in menu_render
- (acrylic) Fix acrylic background rendering issues
- (keyboard) Improve keyboard interaction and fix a crash when pressing Left on the main menu
- (config) Fix default-config dumping interfering with the current config
- (compat) Remove unused condition for clearing recycle bin to improve explorer compatibility
- (compat) Make the
explorerframe.dllpatch more universal - (clipboard) Add
set_text/get_textto clipboard and stop event loop - (stability) Update
blookdependency to fix some crashes - (build) Fix compilation issue
- (ui) Update
breeze-uidependency - (js) Set
owner_rttonullptrwhen window is closed and unmount correctly
Documentation
- (docs) Update animation documentation
Code Refactoring
- (core) Migrate to
breeze-js - (core) Extract
populate_folder_view_contextto a separate function - (acrylic) Refactor acrylic using
Windows.UI.Composition - (thread) Move JavaScript thread initialization to a separate function
- (eventloop) Extract event loop to a separate function
- (console) Only allocate console when needed and no longer use
freopen - (deps) Rename
dependenciestodeps - (log) Migrate to
spdlogandfmtlib
Build System
- (build) Add
breeze-jsdependency and improveyalantinglibsdependency
Chores
- (version) Bump version
- (deps) Remove
glfwsubmodule