【自荐】我又重写了 Windows 的右键菜单 | 「Breeze」好看丝滑可拓展

官网:https://breeze.microblock.cc/
开源仓库:GitHub - std-microblock/breeze-shell: An alternative Windows context menu.

几个月前得知了 Nilesoft Shell 这个软件,初次尝试爱不释手,苦于没有动画尝试 PR,一看代码发现巨型史山,遂决定自己重写一个

这个软件从 Hook 框架到 UI 框架都是手搓的,做到了极端的流畅,同时软件内包含一套插件引擎,不用写什么 DSL,JS 就可以直接操作菜单;还有一个插件市场,大家都可以发布自己写的东西,目前我放了个整理器在里面,可以一行代码都不写就把右键菜单整理的干干净净,还有些杂七杂八的东西

同时界面从圆角弧度到间距到动画 delay,duration 都可以自定义,并且热重载,修改非常方便

5 个赞

比系统菜单至少慢了 50MS,这就非常痛苦了。主菜单的呈现速度比动画效果重要得多。
另外,插件可以支持图片菜单中显示图片吗?

2 个赞

提供ts太赞了

显示图片是?
动画速度可以在配置文件中调节

我使用右键菜单算是高频操作,目前每个菜单项都有动画,项目一多就太拖沓了

这是Files的效果,只保留整体动画,可以参考

在菜单显示图片大概是这样的

一定会比系统菜单慢的。

Files 用起来咋样,主要便利点是啥

Breeze 所有动画均可配置,你可以把它们全部关掉:设置中设置了关闭动画效果时仍然显示了动画 · Issue #52 · std-microblock/breeze-shell · GitHub


image.png
image.png

前后分别为系统菜单响应时间与 breeze 响应时间,为 Potplayer 内逐帧分析的结果
事实上,得益于提前预留的窗口以及对于所有子菜单的懒加载机制,breeze 菜单有时可能还会比系统菜单快;在设计时是考虑了加载速度的,曾经还一度想在 CreateMenu 时就开始显示窗口以提高用户体验,这个可能会在后续成为可选功能

感谢,现在可以对所有的右键操作进行分类不?或者有没有类似的软件?如果速度不是很慢的话,就很棒啊

很尴尬,公司的360企业版报毒 :expressionless:

请问作者,这种注入能实现从外部获取鼠标下的元素信息吗?
通过复制或者 Accessibility,都有各种缺点,要是 shell.dll 能预留一个相关的接口就好了
。。

使用了关闭动画的配置

{
	"context_menu": {
		"theme": {
			"animation": {
				"item": {
					"opacity": {
						"easing": "mutation"
					},
					"x": {
						"easing": "mutation"
					},
					"width": {
						"easing": "mutation"
					}
				},
				"main_bg": {
					"opacity": {
						"easing": "mutation"
					}
				},
				"submenu_bg": {
					"opacity": {
						"easing": "mutation"
					}
				}
			}
		}
	}
}

仍旧与系统菜单有明显的差异。似乎是显示菜单主框架后,逐个显示子项的被动效果。

个人的观点是,喜欢扩展性和可定制性。但"丝滑"却绝不是我会在菜单上追求的,我更希望菜单更快地显示。

那么请问是否有完全禁止动画的选项?前面的配置完全没禁止动画。

只要没有签名360就一定会报毒。

ok,我试用一下。

已经发现bug了,win11系统 火绒杀毒,start11美化软件,酷呆桌面工具等。
会出现这个窗口, 我就alt+f4关了。

请测试一下最新版,我这里使用这个配置是完全没有动画的
PixPin_2025-02-06_00-50-16.gif

崩溃问题请按要求提交到 【崩溃相关】崩溃相关问题总帖 · Issue #59 · std-microblock/breeze-shell · GitHub 哈,不然没法修的