A fast, minimal menu application for the Zurin Wayland compositor.
- C 96.5%
- CMake 3.5%
| include | ||
| protocols | ||
| src | ||
| .gitignore | ||
| CMakeLists.txt | ||
| LICENSE | ||
| README.md | ||
ZMenu
A fast, minimal menu application for the Zurin Wayland compositor.
Features
- Zurin Integration - Shows apps from Zurin config by default
- TOML Menus - Custom menus in
~/.config/zmenu/custom/ - JSON Support - Dynamic menus via command-line arguments
- dmenu Mode - Read items from stdin
- Fuzzy Filtering - Type to filter, scored by prefix/substring match
- Keyboard Navigation - vim-style (j/k) and arrow keys
Dependencies
- wayland-client
- wayland-protocols
- xkbcommon
Building
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
Usage
# Show Zurin configured apps (default)
zmenu
# Load custom TOML menu
zmenu --menu ~/.config/zmenu/custom/apps.toml
# Load from JSON
zmenu --json '{"items":[{"name":"Firefox","command":"firefox"}]}'
TOML Menu Format
[[menu]]
name = "Firefox"
command = "firefox"
[[menu]]
name = "Terminal"
command = "kitty"
Zurin Integration
Add to ~/.config/zurin/config.toml:
[apps]
menu = "zmenu"
Keyboard Controls
| Key | Action |
|---|---|
| ↑/↓ or j/k | Navigate items |
| Enter | Select |
| Escape | Cancel |
| Tab/Shift+Tab | Next/Previous |
| Backspace | Delete character |
| Typing | Filter items |
License
GNU General Public License v3.0 - see LICENSE