update documentation a bit

This commit is contained in:
speedie 2023-03-29 23:08:24 +02:00
parent 38037752ee
commit 25235a5c50
3 changed files with 99 additions and 10 deletions

View file

@ -8,6 +8,10 @@ spmenu is an X11 menu application based on
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](https://dwm.suckless.org) fork, [speedwm](https://codeberg.org/speedie/speedwm).
### Special features
@ -18,10 +22,11 @@ Of course if you want, this is free software so you can use it in your own build
- dwm-like keybind array (See keybinds.h)
- Vim-like modes, including indicator.
- The ability to move around items with keybinds.
- Customizable line/column size.
- Customizable/dynamic line/column size.
- Powerlines
- Web browser like keybindings.
- 256 color support through SGR codes.
- Image support (from [this repository](https://github.com/Cloudef/dmenu-pango-imlib))
- Image support (somewhat based on [this repository](https://github.com/Cloudef/dmenu-pango-imlib))
- Option to block typing.
- Rewritten arguments, old arguments still work though.
- Hiding each part of the menu.
@ -30,7 +35,8 @@ Of course if you want, this is free software so you can use it in your own build
### Other features
Note: This is an incomplete list, it's just here to give you an idea of what this build has to offer.
Note: This is an incomplete list, it's just here to give you an idea of what
this build has to offer.
- Pango markup support
- Alpha transparency
@ -86,6 +92,8 @@ If you are on Arch GNU/Linux, you can add
There's also a PKGBUILD. To use it, simply `makepkg -Si`.
If you wish to package spmenu for your GNU/Linux distribution, feel free to add it to this list.
### Images
To use an image, pipe `IMG:/path/to/image` to spmenu. If you want you can specify arguments.
@ -98,4 +106,5 @@ This build allows you to define .Xresources values to load on startup. See docs/
### Scripts
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.
This build of spmenu should work with all spmenu/dmenu scripts. [Here](https://git.speedie.gq/speedwm-extras) are a few I've written/use.
If your scripts are useful enough, and written with spmenu in mind, feel free to pull request and put your scripts here!

View file

@ -522,19 +522,62 @@ Programs like `pywal` do this to apply universal colorschemes.
Run launcher
============
spmenu includes a shell script called spmenu_run. It lists executable programs in $PATH and displays them to the user in a list. Not only that but it shows recently run programs first in the list.
spmenu includes a shell script called spmenu_run. It lists executable programs
in $PATH and displays them to the user in a list. Not only that but it shows
recently run programs first in the list.
spmenu_run will interpret any arguments as spmenu arguments and pass them to spmenu. Therefore `spmenu_run --prompt 'Run:'` will set the prompt to `Run:`. While it is similar to dmenu_run (and achieves the same goal), this version has some extra features.
spmenu_run will interpret any arguments as spmenu arguments and pass them to
spmenu. Therefore `spmenu_run --prompt 'Run:'` will set the prompt to `Run:`.
While it is similar to dmenu_run (and achieves the same goal), this
version has some extra features.
The selected option is piped to /bin/sh (by default). Unlike dmenu_run, spmenu_run has some cool features. For example:
The selected option is piped to /bin/sh (by default). Unlike dmenu_run,
spmenu_run has some cool features. For example:
- Prepending `#` will spawn it in a terminal instead of just a shell.
- Prepending `magnet ` will open a magnet link in $TORRENT
- Prepending `www` will open a page in $BROWSER
Most of the time you don't need to prepend `www` though, for example typing in `https://gnu.org` will open gnu.org in $BROWSER even without the prefix. Same goes for magnet links.
Most of the time you don't need to prepend `www` though, for example
typing in `https://gnu.org` will open gnu.org in $BROWSER even
without the prefix. Same goes for magnet links.
You can also configure the run launcher through editing
`~/.config/spmenu/run/config` which is configured in shell syntax.
spmenu_desktop
==============
In addition to the aforementioned `spmenu_run`, the spmenu package also provides
`spmenu_desktop` which instead of reading $PATH only lists out .desktop entries.
Unlike the regular run launcher though, spmenu_desktop supports displaying an
icon for entries that use one.
It can be configured through editing `~/.config/spmenu/desktop/config`.
spmenu commands
===============
spmenu has a few special commands. These work similar to the images. For example
to list the version, in addition to the `--version` argument you can also simply
run `printf 'spmenu:version' | spmenu`. There are a few of these.
`spmenu:version`
: Print the spmenu version
`spmenu:license`
: Print the spmenu license
`spmenu:about`
: Print various information about spmenu, such as compiler arguments.
`spmenu:test`
: Print a test script for spmenu which tests various features. Report any
weird issues you may have.
License
=======
spmenu is licensed under the MIT license. See the included LICENSE file for more information.
spmenu is licensed under the MIT license because that's the original suckless
license. See the included LICENSE file for more information.

View file

@ -571,7 +571,44 @@ Most of the time you don\[cq]t need to prepend \f[V]www\f[R] though, for
example typing in \f[V]https://gnu.org\f[R] will open gnu.org in
$BROWSER even without the prefix.
Same goes for magnet links.
.PP
You can also configure the run launcher through editing
\f[V]\[ti]/.config/spmenu/run/config\f[R] which is configured in shell
syntax.
.SH spmenu_desktop
.PP
In addition to the aforementioned \f[V]spmenu_run\f[R], the spmenu
package also provides \f[V]spmenu_desktop\f[R] which instead of reading
$PATH only lists out .desktop entries.
.PP
Unlike the regular run launcher though, spmenu_desktop supports
displaying an icon for entries that use one.
.PP
It can be configured through editing
\f[V]\[ti]/.config/spmenu/desktop/config\f[R].
.SH spmenu commands
.PP
spmenu has a few special commands.
These work similar to the images.
For example to list the version, in addition to the \f[V]--version\f[R]
argument you can also simply run
\f[V]printf \[aq]spmenu:version\[aq] | spmenu\f[R].
There are a few of these.
.TP
\f[V]spmenu:version\f[R]
Print the spmenu version
.TP
\f[V]spmenu:license\f[R]
Print the spmenu license
.TP
\f[V]spmenu:about\f[R]
Print various information about spmenu, such as compiler arguments.
.TP
\f[V]spmenu:test\f[R]
Print a test script for spmenu which tests various features.
Report any weird issues you may have.
.SH License
.PP
spmenu is licensed under the MIT license.
spmenu is licensed under the MIT license because that\[cq]s the original
suckless license.
See the included LICENSE file for more information.