RMenu ------ Another customizable Application-Launcher written in Rust ### Features * Blazingly Fast 🔥 * Simple and Easy to Use * Customizable (Configuration and CSS-Styling) * Plugin Support * Dmenu-Like Stdin Menu Generation ### Installation ```bash $ make install ``` ### Usage View all available options with the builtin help: ```bash $ rmenu --help ``` RMenu Comes with a few default plugins. | Name | Description | | :-------: | ------------------------------------------------------- | | run | Execute a program in $PATH | | drun | Run a Configured Free-Desktop Application | | audio | Select and Set-Default PulseAudio Sink using `pactl` | | network | Wi-Fi Login/Connection Tool using Network-Manager | | window | Simple Window Switcher (Currently Only Support Sway) | | powermenu | Simple Power/Logout Tool (Currently Only Supports Sway) | Run a plugin by passing the `-r` flag like one of the following: ```bash $ rmenu -r run $ rmenu -r drun $ rmenu -r audio ``` Or even run plugins in combination if you'd like: ```bash $ rmenu -r run -r drun ``` Custom Menus can also be passed much like Dmenu by passing items via an input. The schema follows a standard as defined in [rmenu-plugin](./rmenu-plugin) ```bash $ generate-my-menu.sh > input.json $ rmenu -i input.json ``` When neither a plugin nor an input are specified, rmenu defaults to reading from stdin. ```bash $ generate-my-menu.sh | rmenu ``` ### Configuration Customize RMenu Behavior and Appearal in a [single config](./rmenu/public/config.yaml) Customize the entire app's appearance with CSS. A few [Example Themes](./themes/) are available as reference. To try them out use: `rmenu --css ` or move the css file to `$HOME/.config/rmenu/style.css` ### Scripting RMenu plugins and imports communicate using JSON messages defined in `rmenu-plugin`. Writing JSON in shell is painful, so rmenu provides another cli-tool to help build messages quickly and easily while still retaining the flexibility of JSON. After Installing. Use the following command, and look at [other-plugins](./other-plugins) for example uses. ``` $ rmenu-build --help ``` ### Example Screenshots #### Launchpad ![launchpad](./screenshots/launchpad.png) #### Nord ![nord](./screenshots/nord.png) #### Dark ![dark](./screenshots/dark.png) #### Solarized ![solzarized](./screenshots/solarized.png) #### PowerMenu ![powermenu](./screenshots/powermenu.png)