Skip to content

std-microblock/breeze-shell

Repository files navigation

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 中使用中文或英文均可

中文

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.

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 →

Send pull requests to this repo 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 →

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.

image

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

Others