diff --git a/README.md b/README.md index 6bf17b6..348b35d 100644 --- a/README.md +++ b/README.md @@ -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! diff --git a/docs/docs.md b/docs/docs.md index f31bc7e..f786adb 100644 --- a/docs/docs.md +++ b/docs/docs.md @@ -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. diff --git a/spmenu.1 b/spmenu.1 index ee34a47..f19a0e6 100644 --- a/spmenu.1 +++ b/spmenu.1 @@ -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.