What is spmenu?
-spmenu is an X11 menu application based on dmenu which takes standard input, parses it, and lets the user choose an option and sends the selected option to standard output.
-In addition to this, it also serves as a run launcher through the included shell script spmenu_run
. Alternatively you may use spmenu_desktop
which lists .desktop entries instead of $PATH.
It is designed to integrate well with my dwm fork, speedwm.
-Special features
-This build of spmenu has some features written for this build. Of course if you want, this is free software so you can use it in your own build.
--
-
- Proper configuration file support -
- dwm-like key/mouse bind array (See keybinds.h and mouse.h) -
- Vim-like modes, including indicator. -
- The ability to move around items with keybinds. -
- Customizable/dynamic line/column size. -
- IME support
-
- Was removed from suckless dmenu years ago due to issues I’ve resolved
- - Powerlines -
- Web browser like keybindings. -
- 256 color support through SGR codes. -
- Image support
-
- Somewhat based on this repository
- Option to block typing. -
- Rewritten arguments, old arguments still work though. -
- Hiding each part of the menu. -
..and more!
-Other features
--
-
- Pango markup support -
- Alpha transparency -
- Pywal/.Xresources support -
- Grid -
- Colored Emoji/Font support -
- Highlighting -
- Right-to-left language support -
- Case-insensitive by default -
- Padding; useful with patched dwm with barpadding or speedwm. -
- Fuzzy-finding -
- Preselect support -
- Line-height -
- History support -
- Customizable bar height -
Dependencies
--
-
- libX11 -
- libXrender -
- freetype -
- libXinerama
-
-
-
- Can be disabled if you don’t want/need multi-monitor support. -
- - tcc compiler (you can swap it out for GCC by passing CC=“gcc” to the
make
command if you want)
- - Pango (for drawing fonts)
-
-
-
- Can be disabled if you don't need this. -
-
Installation (most GNU/Linux distributions)
-emerge dev-vcs/git # Install dev-vcs/git using your favorite package manager
git clone https://git.speedie.site/spmenu
cd spmenu/
make clean install # Run as root.
Installation (Gentoo)
-If you are on Gentoo GNU/Linux, you can add my overlay which includes x11-misc/spmenu
as well as other useful packages.
Installation (Arch)
-If you are on Arch GNU/Linux, you can add my repository which includes x11-misc/spmenu
as well as other useful packages.
.Xresources values
-This build allows you to define .Xresources values to load on - startup. See docs/example.Xresources for a list of default values.
-Scripts
-This build of spmenu should work with all spmenu scripts. Here are a few I’ve written/use.
-Notes for GCC users
-If you’re compiling with GCC, chances are you’re seeing a lot of warnings. This is because we’re compiling with -Ofast. I can’t seem to find any issues with using -Ofast but if it bothers you, you can compile with -Os or -O2 which don’t spit out these warnings.
-