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

中文

Breeze Shell

Bring fluency & delication back to Windows

Breeze is an alternative context menu for Windows 10 and Windows 11.

Fluency

Breeze is designed with animations in mind.

Extensibility

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 →

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 inject.exe and shell.dll into the same directory. Run inject.exe and you should get a window in which the context menu is replaced.

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

@lipraty - Icon Design