spmenu/README.md

97 lines
2.9 KiB
Markdown
Raw Normal View History

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.
- 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
- Used for image support, can be disabled if you don't want this by editing `toggle.mk`.
2023-01-20 23:17:30 +01:00
- libXinerama
- Can be disabled if you don't want/need multi-monitor support, edit `toggle.mk`
2023-01-20 23:17:30 +01:00
- tcc compiler (you can swap it out for GCC by passing CC="gcc" to the `make` command if you want)
- OpenSSL
- To calculate MD5
2023-01-20 23:17:30 +01:00
- Pango (for drawing fonts)
- If you do not want to use pango, edit `toggle.mk`
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`
2023-03-20 16:18:50 +01:00
`git clone https://git.speedie.gq/spmenu`
2023-01-20 23:17:30 +01:00
`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.
There's also a PKGBUILD. To use it, simply `makepkg -Si`.
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.