dmenu is a command-line program for Unix-like operating systems that provides a dynamic menu for launching other programs. It is commonly used as a launcher in window managers that follow the Unix philosophy of modularity and reusability. dmenu reads a list of newline-separated items from stdin, and shows them in a vertically scrolling list. The user can then select an item by typing a part of the item’s text and pressing Enter. The selected item is then printed to stdout.
If you encounter the below error while running the command dmenu:
dmenu: command not found
you may try installing the below package as per your choice of distribution:
Distribution | Command |
---|---|
Debian | apt-get install suckless-tools |
Ubuntu | apt-get install suckless-tools |
Alpine | apk add dmenu |
Arch Linux | pacman -S dmenu |
Kali Linux | apt-get install suckless-tools |
Fedora | dnf install dmenu |
OS X | brew install dmenu |
Raspbian | apt-get install suckless-tools |
dmenu Command Examples
1. Display a menu of the output of the `ls` command:
# ls | dmenu
2. Display a menu with custom items separated by a new line (`\n`):
# echo -e "red\ngreen\nblue" | dmenu
3. Let the user choose between multiple items and save the selected one to a file:
# echo -e "red\ngreen\nblue" | dmenu > color.txt
4. Launch dmenu on a specific monitor:
# ls | dmenu -m 1
5. Display dmenu at the bottom of the screen:
# ls | dmenu -b