Pipemenu
June 7, 2026 ยท View on GitHub
Gnome (GTK4 + libadwaita) compatible dmenu alternative.
It is not application launcher. It accepts input from stdin, allows user to select desired entry, and returns that entry on stdout.
Usage
ls | pipemenu | xargs xdg-open

Help & options
pipemenu -h
Installation
Prebuilt binary
Navigate to Releases and download a released binary (pipemenu_vx.x.x_linux-64bit)
After that you need to:
- rename the binary to
pipemenu - make it executable:
chmod +x pipemenu - move it to a location included in your
$PATHenvironment variable (for example:/usr/local/bin[requires sudo]. To check available paths use your terminal:echo $PATH)
NixOS/flakes
- Add flake input:
inputs = {
pipemenu = {
url = "github:soanvig/pipemenu";
};
}
- Add package to your packages section (note: only
x86_64-linuxsystem is being built in flake):
environment.systemPackages = [
inputs.pipemenu.packages.${system}.default
]
# or for home manager:
home.packages = [
inputs.pipemenu.packages.${system}.default
]
Rust/Cargo
Install dependencies listed in Development section (cargo builds package on your system), and then:
cargo install pipemenu
Roadmap
See Issues
Development
pipemenu uses gtk4-rs therefore GTK building instructions and Adwaita building instructions apply.
Currently gtk4 and libadwaita development dependencies are required with versions matching what's defined in Cargo.toml.
If using NixOS to build proper binary to be run on other systems, the binary has to be patched: patchelf --set-interpreter /usr/lib64/ld-linux-x86-64.so.2 pipemenu