rmenu mirror
Go to file
Andrew Scott 1de4531c3a
Merge pull request #7 from LordGrimmauld/master
align nix tooling with post-review tooling merged upstream
2024-04-03 11:39:01 -07:00
nix align nix tooling with post-review tooling merged upstream 2024-04-03 19:26:21 +02:00
other-plugins fix: powermenu css updates to fix default css changes 2024-03-31 20:35:14 -07:00
plugin-desktop feat: reswizzled rmenu-plugin. added cli to easily build entries from command 2023-08-17 22:19:20 -07:00
plugin-network fix: recovered network-plugin 2024-03-02 13:20:07 -07:00
plugin-run fix: use upgraded rmenu-plugin version 2023-08-14 17:42:23 -07:00
plugin-window feat: implemented simple window-switcher for sway 2023-08-14 22:11:14 -07:00
rmenu chore: upgrade version for tag release 2024-04-02 11:36:49 -07:00
rmenu-plugin feat: export additional settings to options 2023-08-20 14:12:17 -07:00
screenshots feat: added powermenu screenshot 2023-08-20 19:13:12 -07:00
themes feat: new launchpad theme 2023-08-20 14:06:17 -07:00
.gitignore fix broken xdg path search 2024-03-29 14:50:42 +01:00
Cargo.lock chore: cargo update 2024-04-02 11:41:24 -07:00
Cargo.toml fix: recovered network-plugin 2024-03-02 13:20:07 -07:00
flake.lock add basic flake.nix 2024-03-29 10:35:40 +01:00
flake.nix update nix tooling 2024-03-29 14:55:47 +01:00
LICENSE chore: license fix 2024-03-29 13:45:48 -07:00
Makefile fix: recovered network-plugin 2024-03-02 13:20:07 -07:00
README.md feat: nix support thanks to @LordGrimmauld 2024-03-29 11:53:41 -07:00
rust-toolchain.toml fix broken xdg path search 2024-03-29 14:50:42 +01:00

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

RMenu now has Nix support thanks to @LordGrimmauld!

Install Dependencies (Ubuntu)

sudo apt install pkg-config libglib2.0-dev libghc-gi-gdk-dev libsoup-3.0-dev libjavascriptcoregtk-4.1-dev libwebkit2gtk-4.1-dev libnm-dev

Compile and Install Binaries/Config-Files

$ make install

Usage

View all available options with the builtin help:

$ 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:

$ rmenu -r run
$ rmenu -r drun
$ rmenu -r audio

Or even run plugins in combination if you'd like:

$ 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

$ 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.

$ generate-my-menu.sh | rmenu

Configuration

Customize RMenu Behavior and Appearal in a single config

Customize the entire app's appearance with CSS. A few Example Themes are available as reference. To try them out use: rmenu --css <my-css-theme> 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 for example uses.

$ rmenu-build --help

Example Screenshots

Launchpad

launchpad

Nord

nord

Dark

dark

Solarized

solzarized

PowerMenu

powermenu