https://github.com/std-microblock/breeze-shell
An alternative Windows context menu, and more.
https://github.com/std-microblock/breeze-shell
context-menu shell windows windows-11
Last synced: 8 months ago
JSON representation
An alternative Windows context menu, and more.
- Host: GitHub
- URL: https://github.com/std-microblock/breeze-shell
- Owner: std-microblock
- License: agpl-3.0
- Created: 2024-12-31T05:59:25.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-29T13:59:52.000Z (8 months ago)
- Last Synced: 2025-04-29T14:51:52.609Z (8 months ago)
- Topics: context-menu, shell, windows, windows-11
- Language: C++
- Homepage: https://breeze.microblock.cc/
- Size: 6.56 MB
- Stars: 2,205
- Watchers: 4
- Forks: 33
- Open Issues: 35
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> [!WARNING]
> This project is still in active development. File a bug report if you meet
> any!\
> 此项目仍在开发阶段,如果遇到问题请发送 Issue
>
> Both English and Chinese issues are accepted.
> Issue 中使用中文或英文均可
[中文](./README_zh.md) [Donate Me](./DONATE.md) [Discord](https://discord.gg/MgpHk8pa3d)
Breeze Shell
Bring fluency & delication back to Windows
Breeze is an **alternative context menu** for Windows 10 and Windows 11.
## Fluent
Breeze is designed with animations in mind.

All animations are configurable and can be scaled and disabled as you want.
## Extensible
Empowered by the embedded JavaScript script api, Breeze enables you to extend
the functionalities of your context menu in a few lines of code.
```javascript
shell.menu_controller.add_menu_listener((e) => {
e.menu.add({
type: "button",
name: "Shuffle Buttons",
action: () => {
for (const item of menus) {
item.set_position(Math.floor(menus.length * Math.random()));
}
},
}, 0);
});
```
[See full bindings →](./src/shell/script/binding_types.d.ts)
Send pull requests to [this repo](https://github.com/breeze-shell/plugins) to add your script to the plugin market!
## Configurable
Breeze shell exposed a bunch of configurations ranging from item height to background radius method. Customize them as you need.
[Configuration Document →](./CONFIG.md)
The config menu of breeze-shell can be found as you open your `Data Folder` and right-click anywhere inside it.
## Lightweight & Fast
Breeze uses breeze-ui, which is implemented to be a cross-platform, simple,
animation-friendly and fast ui library for modern C++, with the support of both
NanoVG and ThorVG render context. This allowed Breeze to have a delicated user
interface in ~2MiB.
# Try it out!
Download and extract the zip, and Run `breeze.exe`.

# Building
Breeze uses xmake. You'd have to install xmake in your computer first. Then,
type `xmake` in the project dir and follow the instructions. Both clang-cl and
MSVC 2019+ can build this project.
# Developing
After building successfully once, you can oprn the project dir in VSCode for
development. Install clangd plugin for full intellisense.
# Credits
#### Third-party libraries
- https://github.com/std-microblock/blook
- https://github.com/quickjs-ng/quickjs
- https://github.com/ftk/quickjspp
- https://github.com/getml/reflect-cpp
- https://github.com/glfw/glfw
- https://github.com/Dav1dde/glad
- https://github.com/memononen/nanovg
- https://github.com/memononen/nanosvg
- https://github.com/freetype/freetype
#### Others
- [@lipraty](https://github.com/lipraty) - Icon Design
- [moudey/Shell](https://github.com/moudey/Shell) - Inspiration