Key Features:
- Dynamic Menus: User-defined menus with wheel or list layouts.
- WASM Plugins: Extend functionality using Extism.
- Customizable: Themes, hotkeys, and more.
How it Works:
- Open menu via hotkey.
- Plugins generate menu items.
- Puppet displays items.
- User selects an item.
- Plugin handles the selection.
Plugin Highlights:
- Written in any Extism PDK language.
init()
,filter()
,on_selected()
functions.cli_run()
host function for running commands.manifest.json
for configuration and permissions.
Publishing Plugins:
- Create a release with
plugin.wasm
,manifest.json
, andreadme.md
. - Add your plugin to
plugins.json
in the puppet-plugins repository.
- Flutter SDK
- Rust toolchain
- for linux install keybinder3 and gtk-layer-shell
Use the included build script:
./build.sh
MIT