# πmenu(eXkc build) πmenu is a pie menu utility for X. πmenu receives a menu specification in stdin, shows a pie menu for the user to select one of the options, and outputs the option selected to stdout. πmenu can be controlled both via mouse and via keyboard. ## Features πmenu comes with the following features: * πmenu reads something in and prints something out, the UNIX way. * Submenus (some menu entries can spawn another menu). * Separators (menu entries can be separated by a line). * Icons (menu entries can be preceded by an icon image). ## Files The files are: * `./README`: This file. * `./Makefile`: The makefile. * `./config.h`: The hardcoded default configuration for πmenu. * `./config.mk`: The setup for the makefile. * `./demo.gif`: A gif demonstrating how πmenu works. * `./pmenu.1`: The manual file (man page) for πmenu. * `./pmenu.c`: The source code of πmenu. * `./pmenu.sh`: A sample script illustrating how to use πmenu. * `./icons/`: Icons for the sample script ## Installation First, edit `./config.mk` to match your local setup. In order to build πmenu you need the `Imlib2`, `Xlib` and `Xft` header files. The default configuration for πmenu is specified in the file `config.h`, you can edit it, but most configuration can be changed at runtime via X resources. Enter the following command to build πmenu. This command creates the binary file `./pmenu`. ```` # sudo make ```` By default, πmenu is installed into the `/usr/local` prefix. Enter the following command to install πmenu (if necessary as root). This command installs the binary file `./pmenu` into the `${PREFIX}/bin/` directory, and the manual file `./pmenu.1` into `${MANPREFIX}/man1/` directory. ```` # sudo make install ```` ## Running πmenu πmenu receives as input a menu specification where each line is a menu entry. Each line can be indented with tabs to represent nested menus. Each line is made out of a label and a command separated by any number of tabs. Lines without labels are menu separators. See the script `./pmenu.sh` for an example of how to use πmenu to draw a simple menu with submenus and separators. The file `./demo.gif` shows how the menu generated by that script looks like. Read the [manual](https://github.com/phillbush/pmenu/wiki) for more information on running πmenu.