2023-01-20 23:17:30 +01:00
|
|
|
# spmenu
|
2023-01-20 23:23:15 +01:00
|
|
|
![image](/docs/preview.png)
|
2023-01-20 23:17:30 +01:00
|
|
|
|
|
|
|
### What is spmenu?
|
|
|
|
|
|
|
|
spmenu is an X11 menu application based on
|
|
|
|
[dmenu](https://tools.suckless.org/dmenu) which takes standard input, parses
|
|
|
|
it, and lets the user choose an option and sends the
|
|
|
|
selected option to standard output.
|
|
|
|
|
|
|
|
It is designed to integrate well with my [dwm](https://dwm.suckless.org) fork, [speedwm](https://codeberg.org/speedie/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.
|
|
|
|
|
2023-01-21 22:15:20 +01:00
|
|
|
- dwm-like keybind array (See keybinds.h)
|
2023-02-25 17:45:25 +01:00
|
|
|
- Vim-like modes, including indicator
|
2023-01-20 23:17:30 +01:00
|
|
|
- 256 color support through SGR codes.
|
2023-02-25 13:52:55 +01:00
|
|
|
- Image support (from [this repository](https://github.com/Cloudef/dmenu-pango-imlib))
|
2023-01-20 23:17:30 +01:00
|
|
|
- Option to block typing.
|
|
|
|
- Rewritten arguments, old arguments still work though.
|
|
|
|
- Border only when centered option
|
|
|
|
- Hiding each part of the menu
|
|
|
|
|
|
|
|
### Other features
|
|
|
|
|
|
|
|
Note: This is an incomplete list, it's just here to give you an idea of what this build has to offer.
|
2023-02-25 13:52:55 +01:00
|
|
|
|
2023-01-22 11:48:27 +01:00
|
|
|
- Pango markup support
|
2023-01-20 23:17:30 +01:00
|
|
|
- Alpha transparency
|
|
|
|
- Pywal/.Xresources support
|
|
|
|
- Grid
|
|
|
|
- Colored Emoji/Font support
|
|
|
|
- Highlighting
|
2023-01-22 11:48:27 +01:00
|
|
|
- Right-to-left language support
|
2023-01-20 23:17:30 +01:00
|
|
|
- Case-insensitive by default
|
|
|
|
- Padding; useful with patched dwm with barpadding or speedwm.
|
|
|
|
- Fuzzy-finding
|
|
|
|
- Preselect support
|
|
|
|
- Line-height
|
|
|
|
- History support
|
2023-02-26 05:59:44 +01:00
|
|
|
- Customizable bar height
|
2023-01-20 23:17:30 +01:00
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
|
|
|
- libX11
|
|
|
|
- libXrender
|
|
|
|
- freetype
|
2023-02-25 13:52:55 +01:00
|
|
|
- imlib2
|
2023-02-26 16:38:26 +01:00
|
|
|
- Used for image support, can be disabled if you don't want this by editing host.mk and defining NOIMAGE
|
2023-01-20 23:17:30 +01:00
|
|
|
- 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)
|
2023-02-25 15:31:06 +01:00
|
|
|
- If you do not want to use pango, consider my [older dmenu build](https://github.com/speedie-de/dmenu)
|
2023-01-20 23:17:30 +01:00
|
|
|
|
|
|
|
### Installation (most GNU/Linux distributions)
|
|
|
|
|
|
|
|
`emerge dev-vcs/git # Install dev-vcs/git using your favorite package manager`
|
|
|
|
|
|
|
|
`git clone https://codeberg.org/speedie/spmenu`
|
|
|
|
|
|
|
|
`cd spmenu/`
|
|
|
|
|
|
|
|
`make clean install # Run as root.`
|
|
|
|
|
|
|
|
### Installation (Gentoo)
|
|
|
|
|
|
|
|
If you are on Gentoo GNU/Linux, you can add
|
2023-03-02 10:07:56 +01:00
|
|
|
[my overlay](https://git.speedie.gq/speedie-overlay) which includes
|
2023-01-20 23:17:30 +01:00
|
|
|
`x11-misc/spmenu` as well as other useful packages.
|
|
|
|
|
2023-03-02 10:07:56 +01:00
|
|
|
### Installation (Arch)
|
|
|
|
|
|
|
|
If you are on Arch GNU/Linux, you can add
|
|
|
|
[my repository](https://git.speedie.gq/speedie-repository) which includes
|
|
|
|
`spmenu` as well as other useful packages.
|
|
|
|
|
2023-02-25 14:00:22 +01:00
|
|
|
### Images
|
|
|
|
|
|
|
|
To use an image, pipe `IMG:/path/to/image` to spmenu. If you want you can specify arguments.
|
|
|
|
|
2023-02-25 15:31:06 +01:00
|
|
|
`printf "IMG:$HOME/Wallpapers/Art/2.png\tThis is a cool image.\n" | spmenu`
|
|
|
|
|
2023-01-20 23:17:30 +01:00
|
|
|
### .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
|
|
|
|
|
2023-03-06 21:19:12 +01:00
|
|
|
This build of spmenu should work with all spmenu/dmenu scripts. [Here](https://codeberg.org/speedie/speedwm-extras) are a few I've written/use.
|