spmenu/docs/docs.md

715 lines
19 KiB
Markdown
Raw Normal View History

spmenu
======
2023-03-20 15:32:20 +01:00
spmenu is a program for X11 that reads standard input and allows the user to
2023-04-03 00:53:42 +02:00
select items separated by a newline. It is a fork of
[suckless's dmenu](https://tools.suckless.org/dmenu) which is a good more
minimal alternative to spmenu.
2023-02-26 15:37:09 +01:00
2023-04-03 00:53:42 +02:00
What makes spmenu different from all the dmenu forks is that spmenu has
features like color support, Vim-like modes, image support,
proper mouse/keybind configuration, and more.
2023-02-26 15:37:09 +01:00
2023-04-02 01:49:58 +02:00
It should be noted that most of these features may be disabled by the user, either
during compile time or through configuration.
2023-03-20 14:03:18 +01:00
Usage
=====
2023-02-26 15:37:09 +01:00
On runtime, spmenu reads from standard input (stdin). spmenu items are
separated by a newline (`\n`). When (by default) Enter is pressed, the selected
item will be piped to stdout.
2023-02-26 15:37:09 +01:00
This allows things like `printf "Apple\nOrange\nPear\n" | spmenu`. This command
will spawn an spmenu window with three items, 'Apple', 'Orange' and 'Pear'.
This can be used in shell scripts to create interactive menus.
2023-02-26 15:37:09 +01:00
On top of this, you can specify arguments to change the behavior of spmenu.
See a list below for a list.
2023-02-26 15:37:09 +01:00
2023-03-20 14:03:18 +01:00
Arguments
=========
2023-02-26 15:37:09 +01:00
2023-03-20 16:00:50 +01:00
You may use long, descriptive arguments or the shorter arguments.
`-mh, --lineheight height`
2023-03-20 16:00:50 +01:00
: Set spmenu line height to height
`-mw, --min-width width`
2023-03-20 16:00:50 +01:00
: Set minimum width to width
`-g, --columns grid`
2023-03-20 16:00:50 +01:00
: Set the number of grids to grid
`-gc, --generate-cache`
2023-03-20 16:00:50 +01:00
: Generate image cache
`-ngc, --no-generate-cache`
2023-03-20 16:00:50 +01:00
: Don't generate image cache
`-mc, --max-cache size`
2023-03-21 21:52:14 +01:00
: Set max image cache size to size
`-rw, --relative-width`
2023-03-20 16:00:50 +01:00
: Enable relative input width
`-nrw, --no-relative-width`
2023-03-20 16:00:50 +01:00
: Disable relative input width
`-f, --fast`
2023-03-20 16:00:50 +01:00
: Grabs keyboard before reading stdin
`-F, --fuzzy`
2023-03-20 16:00:50 +01:00
: Enable fuzzy matching
`-NF, --no-fuzzy`
2023-03-20 16:00:50 +01:00
: Disable fuzzy matching
`-P, --password`
2023-03-20 16:00:50 +01:00
: Hide characters
2023-04-07 17:58:42 +02:00
`-nP, --no-password`
: Don't hide characters
`-p, --prompt text`
2023-03-20 16:00:50 +01:00
: Set spmenu prompt text to text
2023-04-03 15:14:20 +02:00
`-It, --input text`
: Set initial input text to text
`-ip, --indent`
2023-03-20 16:00:50 +01:00
: Indent items to prompt width
`-nip, --no-indent`
2023-03-20 16:00:50 +01:00
: Don't indent items to prompt width
`-ci, --color-items`
2023-03-28 15:10:57 +02:00
: Color items
`-nci, --no-color-items`
2023-03-28 15:10:57 +02:00
: Don't color items
`-a, --alpha`
2023-03-20 16:00:50 +01:00
: Enable alpha
`-na, --no-alpha`
2023-03-20 16:00:50 +01:00
: Disable alpha
`-tp, --allow-typing`
2023-03-20 16:00:50 +01:00
: Allow the user to type
`-nt, --no-allow-typing`
2023-03-20 16:00:50 +01:00
: Don't allow typing, the user must select an option
`-x, --x-position x offset`
2023-03-20 16:00:50 +01:00
: Offset spmenu x position by x offset
`-y, --y-position y offset`
2023-03-20 16:00:50 +01:00
: Offset spmenu y position by y offset
`-n, --preselect line`
: Preselect line line in the list of items
2023-03-20 16:00:50 +01:00
`-z, --width width`
2023-03-20 16:00:50 +01:00
: Width of the spmenu window
`-nmt, --normal-mode-text text`
2023-03-20 16:00:50 +01:00
: Set normal mode text to text
`-imt, --insert-mode-text text`
2023-03-20 16:00:50 +01:00
: Set insert mode text to text
`-bw, --border-width width`
2023-03-20 16:00:50 +01:00
: Set width of the border to width . 0 will disable the border
`-so, --sort`
2023-03-20 16:00:50 +01:00
: Sort matches
`-nso, --no-sort`
2023-03-20 16:00:50 +01:00
: Don't sort matches
`-pri, --priority pri1,pri2,pri3`
2023-03-20 16:00:50 +01:00
: Specify a list of items that take priority
`-s, --case-sensitive`
2023-03-20 16:00:50 +01:00
: Use case-sensitive matching
`-ns, --case-insensitive`
2023-03-20 16:00:50 +01:00
: Use case-insensitive matching
`-nm, --normal`
2023-03-20 16:00:50 +01:00
: Start spmenu in normal mode
`-im, --insert`
2023-03-20 16:00:50 +01:00
: Start spmenu in insert mode
`-t, --top`
2023-03-20 16:00:50 +01:00
: Position spmenu at the top of the screen
`-b, --bottom`
2023-03-20 16:00:50 +01:00
: Position spmenu at the bottom of the screen
`-c, --center`
2023-03-20 16:00:50 +01:00
: Position spmenu at the center of the screen
`-hm, --hide-mode`
2023-03-20 16:00:50 +01:00
: Hide mode indicator
2023-04-07 17:58:42 +02:00
`-hit, --hide-item`
: Hide items
`-hmc, --hide-match-count`
2023-03-20 16:00:50 +01:00
: Hide match count
`-hla, --hide-left-arrow`
2023-03-20 16:00:50 +01:00
: Hide left arrow
`-hra, --hide-right-arrow`
2023-03-20 16:00:50 +01:00
: Hide right arrow
`-hpr, --hide-prompt`
2023-03-20 16:00:50 +01:00
: Hide prompt
`-hip, --hide-input`
: Hide input
`-hpl, --hide-powerline`
: Hide powerline
`-hc, --hide-caret, --hide-cursor`
: Hide caret
2023-03-20 16:00:50 +01:00
`-hhl, --hide-highlighting`
2023-03-20 16:00:50 +01:00
: Hide highlight
`-hi, --hide-image`
2023-03-20 16:00:50 +01:00
: Hide image
`-sm, --show-mode`
2023-03-20 16:00:50 +01:00
: Show mode indicator
2023-04-07 17:58:42 +02:00
`-sit, --show-item`
: Show items
`-smc, --show-match-count`
2023-03-20 16:00:50 +01:00
: Show match count
`-sla, --show-left-arrow`
2023-03-20 16:00:50 +01:00
: Show left arrow
`-sra, --show-right-arrow`
2023-03-20 16:00:50 +01:00
: Show right arrow
`-spr, --show-prompt`
2023-03-20 16:00:50 +01:00
: Show prompt
`-sin, --show-input`
: Show input
`-spl, --show-powerline`
: Show powerline
`-sc, --show-caret, --show-cursor`
: Show caret
2023-03-20 16:00:50 +01:00
`-shl, --show-highlighting`
2023-03-20 16:00:50 +01:00
: Show highlight
`-si, --show-image`
2023-03-20 16:00:50 +01:00
: Show image
`-xrdb, --xrdb`
2023-03-20 16:00:50 +01:00
: Load .Xresources on runtime
`-nxrdb, --no-xrdb`
2023-03-20 16:00:50 +01:00
: Don't load .Xresources on runtime
`-gbc, --global-colors`
2023-03-30 19:06:04 +02:00
: Recognize global colors (such as *.color1) on runtime
`-ngbc, --no-global-colors`
2023-03-30 19:06:04 +02:00
: Don't recognize global colors (such as *.color1) on runtime
`-m, --monitor monitor`
2023-03-20 16:00:50 +01:00
: Specify a monitor to run spmenu on
`-w, --embed window id`
2023-03-20 16:00:50 +01:00
: Embed spmenu inside window id
`-H, --hist-file hist file`
2023-03-20 16:00:50 +01:00
: Specify a path to save the history to
`-ig, --image-gaps gaps`
2023-03-20 16:00:50 +01:00
: Set image gaps to gaps
`-txp, --text-padding padding`
2023-03-29 21:37:48 +02:00
: Set text padding to padding
`-lp, --vertical-padding padding`
2023-03-20 16:00:50 +01:00
: Set the vertical padding
`-hp, --horizontal-padding padding`
2023-03-20 16:00:50 +01:00
: Set the horizontal padding
`-la, --left-arrow-symbol symbol`
2023-03-20 16:00:50 +01:00
: Set the left arrow to symbol
`-ra, --right-arrow-symbol symbol`
2023-03-20 16:00:50 +01:00
: Set the right arrow to symbol
`-is, --image-size size`
2023-03-20 16:00:50 +01:00
: Image size
`-it, --image-top`
2023-03-20 16:00:50 +01:00
: Position the image at the top
`-ib, --image-bottom`
2023-03-20 16:00:50 +01:00
: Position the image at the bottom
`-ic, --image-center`
2023-03-20 16:00:50 +01:00
: Position the image in the center
`-itc, --image-topcenter`
2023-03-20 16:00:50 +01:00
: Position the image in the top center
`-wm, --managed, --x11-client`
2023-03-20 16:00:50 +01:00
: Spawn spmenu as a window manager controlled client/window. Useful for testing
`-nwm, --unmanaged`
2023-03-20 16:00:50 +01:00
: Don't spawn spmenu as a window manager controlled client/window. Useful for testing
`-cf, --config-file file`
: Set config file to load to file
`-lcfg, --load-config`
: Load spmenu configuration (~/.config/spmenu/spmenu.conf, ~/.spmenurc or ~/.config/spmenu/spmenurc)
2023-03-20 16:00:50 +01:00
`-ncfg, --no-load-config`
: Don't load spmenu configuration (~/.config/spmenu/spmenu.conf, ~/.spmenurc
or ~/.config/spmenu/spmenurc)
2023-03-20 16:00:50 +01:00
`-v, --version`
2023-03-20 16:00:50 +01:00
: Print spmenu version to stdout
`-fn, --font font`
2023-03-20 16:00:50 +01:00
: Set the spmenu font to font
`-nif, --normal-item-foreground color`
2023-03-20 16:00:50 +01:00
: Set the normal item foreground color
`-nib, --normal-item-background color`
2023-03-20 16:00:50 +01:00
: Set the normal item background color
`-sif, --selected-item-foreground color`
2023-03-20 16:00:50 +01:00
: Set the selected item foreground color
`-sib, --selected-item-background color`
2023-03-20 16:00:50 +01:00
: Set the selected item background color
`-npf, --normal-item-priority-foreground color`
2023-03-20 16:00:50 +01:00
: Set the normal item (high priority) foreground color
`-npb, --normal-item-priority-background color`
2023-03-20 16:00:50 +01:00
: Set the normal item (high priority) background color
`-spf, --selected-item-priority-foreground color`
2023-03-20 16:00:50 +01:00
: Set the selected item (high priority) foreground color
`-spb, --selected-item-priority-background color`
2023-03-20 16:00:50 +01:00
: Set the selected item (high priority) background color
`-pfg, --prompt-foreground color`
2023-03-20 16:00:50 +01:00
: Set the prompt foreground color
`-pbg, --prompt-background color`
2023-03-20 16:00:50 +01:00
: Set the prompt background color
`-ifg, --input-foreground color`
2023-03-20 16:00:50 +01:00
: Set input foreground color
`-ibg, --input-background color`
2023-03-20 16:00:50 +01:00
: Set input background color
`-mnbg, --menu-background color`
2023-03-20 16:00:50 +01:00
: Set the menu background color
`-nhf, --normal-highlight-foreground color`
2023-03-20 16:00:50 +01:00
: Set the normal highlight foreground color
`-nhb, --normal-highlight-background color`
2023-03-20 16:00:50 +01:00
: Set the normal highlight background color
`-shf, --selected-highlight-foreground color`
2023-03-20 16:00:50 +01:00
: Set the selected highlight foreground color
`-shb, --selected-highlight-background color`
2023-03-20 16:00:50 +01:00
: Set the selected highlight background color
`-nfg, --number-foreground color`
2023-03-20 16:00:50 +01:00
: Set the foreground color for the match count
`-nbg, --number-background color`
2023-03-20 16:00:50 +01:00
: Set the background color for the match count
`-mfg, --mode-foreground color`
2023-03-20 16:00:50 +01:00
: Set the foreground color for the mode indicator
`-mbg, --mode-background color`
2023-03-20 16:00:50 +01:00
: Set the background color for the mode indicator
`-laf, --left-arrow-foreground color`
2023-03-20 16:00:50 +01:00
: Set the left arrow foreground color
`-raf, --right-arrow-foreground color`
2023-03-20 16:00:50 +01:00
: Set the right arrow foreground color
`-lab, --left-arrow-background color`
2023-03-20 16:00:50 +01:00
: Set the left arrow background color
`-rab, --right-arrow-background color`
2023-03-20 16:00:50 +01:00
: Set the right arrow background color
`-cc, --caret-foreground color`
2023-03-20 16:00:50 +01:00
: Set the caret color
`-bc, --border-background color`
2023-03-20 16:00:50 +01:00
: Set the border color
`-sgr0, --sgr0 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 0 color
`-sgr1, --sgr1 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 1 color
`-sgr2, --sgr2 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 2 color
`-sgr3, --sgr3 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 3 color
`-sgr4, --sgr4 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 4 color
`-sgr5, --sgr5 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 5 color
`-sgr6, --sgr6 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 6 color
`-sgr7, --sgr7 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 7 color
`-sgr8, --sgr8 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 8 color
`-sgr9, --sgr9 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 9 color
`-sgr10, --sgr10 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 10 color
`-sgr11, --sgr11 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 11 color
`-sgr12, --sgr12 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 12 color
`-sgr13, --sgr13 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 13 color
`-sgr14, --sgr14 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 14 color
`-sgr15, --sgr15 color`
2023-03-20 16:00:50 +01:00
: Set the SGR 15 color
dmenu compatibility can be achieved using these arguments:
`-S`
: Don't sort matches
`-i`
: Use case-insensitive matching
`-nb color`
: Set the normal background color
`-nf color`
: Set the normal foreground color
`-sb color`
: Set the selected background color
2023-03-20 16:00:50 +01:00
`-sf color`
: Set the selected foreground color
2023-02-26 15:37:09 +01:00
2023-03-20 14:03:18 +01:00
Keybinds
========
2023-02-26 15:37:09 +01:00
See `keybinds.h` for a list.
2023-03-20 14:03:18 +01:00
Modes
=====
2023-02-26 15:37:09 +01:00
One of the features that separate spmenu from dmenu is spmenu's different
modes. As of version 0.2, there are two modes. Normal mode and Insert mode.
These modes are of course similar to Vim.
2023-02-26 15:37:09 +01:00
Normal mode is the mode spmenu starts in unless a mode argument is specified.
In normal mode, all keys perform some action, but you cannot type any actual
text to filter items. This mode is used for navigation, as well
as quickly selecting an item.
2023-02-26 15:37:09 +01:00
Insert mode is entered through (by default) pressing `i` in normal mode. In
this mode, most keybinds do nothing. When you are in insert mode, you
filter items by typing text into the field. Once you're done
with insert mode, you can press Escape to enter normal mode again.
2023-02-26 15:37:09 +01:00
2023-03-20 14:03:18 +01:00
-p option
=========
2023-02-26 15:37:09 +01:00
spmenu has a -p option, which stands for prompt. It allows you to specify
text to display next to the item list. It is displayed on the left side of the
spmenu window. It should be noted that the prompt is purely visual though.
2023-02-26 15:37:09 +01:00
2023-03-20 14:03:18 +01:00
Images
======
2023-02-26 15:37:09 +01:00
spmenu supports drawing images. This image is placed on the left side of
the menu window. To use an image, pipe `IMG:/path/to/image` to spmenu.
If you want you can specify arguments like usual. Note that you should add
a Tab (`\t`) character after the path to the image file. Otherwise the text
after will be interpreted as part of the filename and the image will not be drawn.
2023-02-26 15:37:09 +01:00
Any text after the Tab character will be interpreted as a regular item.
In practice, drawing an image might look like this:
2023-02-26 15:37:09 +01:00
`printf "IMG:/path/to/image\tLook at that image, isn't it awesome?\n" | spmenu`
2023-02-26 15:37:09 +01:00
There are also a few image related arguments, such as:
`-is`, `-ig`, `-it`, `-ib`, `-ic`, `-itc` and `-gc`.
2023-02-26 15:37:09 +01:00
NOTE: Vector images (such as .svg) can be displayed too.
2023-03-20 14:03:18 +01:00
Colored text
============
2023-02-26 15:37:09 +01:00
spmenu supports colored text through SGR sequences. This is the same colors
that you might already be using in your shell scripts. This means you can
pipe practically any colored shell script straight into spmenu,
no need to filter the output or anything.
2023-02-26 15:37:09 +01:00
Not only does it support colored text, but it also supports colored backgrounds.
This allows something similar to the emoji highlight patch, except even more useful.
2023-04-03 15:14:20 +02:00
Example: `printf "\033[0;44m😀\033[0m Emoji highlighting\n" | spmenu --columns 1`
2023-03-14 21:31:24 +01:00
For 256 color support to work, you must add to the array. See `libs/color.h`
if you want this.
See 'SGR sequences' for more information.
2023-03-20 14:03:18 +01:00
SGR sequences
=============
2023-03-14 21:31:24 +01:00
A basic supported SGR sequence looks like this: `\033[X;YZm`
Here, X specifies if you want normal or bright colors. Y specifies if you
want background or foreground. Z specifies the color number.
Foreground colors: `30` through `37`
Background colors: `40` through `47`
Reset: `0`
NOTE: `;` is a separator, and in this example it separates the
color number and normal/bright. \033 may also be written as `^]` or simply `ESC`.
The separator may be omitted for some sequences, such as `\033[0m` which
resets the colorscheme.
2023-03-14 21:31:24 +01:00
spmenu supports most color sequences, although not true color by default
(unless -sgr arguments are used).
There are a few arguments, you can override SGR colors on-the-fly
using the `-sgrX` arguments. See 'Arguments' for more information.
Just as a tip, you can pipe your colored spmenu output to
`sed -e 's/\x1b\[[0-9;]*m//g'`. This will clear the SGR sequences from
the output. This is useful when you want to check what the output actually is.
Pango markup
============
If spmenu was compiled with Pango enabled (default), you should be able to
utilize Pango markup in every part of spmenu. That is, the mode indicator,
items, input, prompt, etc.
Pango markup allows you to style text similar to an HTML document. It also
provides the `<span>` tag, which can be used to do surprisingly complex things.
There are many convenient tags as well which can be used to
avoid using a `<span>` tag, such as:
`<b>`
: **Bold** text (`<b>Bold</b>`)
`<i>`
: *Italic* text (`<i>Italic</i>`)
`<s>`
: Strikethrough text (`<s>Strikethrough</s>`)
`<u>`
: Underline text (`<u>Underline</u>`)
`<sub>`
: Subscript (`<sub>Subscript</sub>`)
`<sup>`
: Superscript (`<sup>Supscript</sup>`)
`<tt>`
: Monospace font (`<tt>Monospaced font is used here</tt>`)
`<small>`
: Small text (`<small>text is so small here</small>`)
`<big>`
: Big text (`<big>text is so big here</big>`)
Note that Pango markup is NOT escaped, and is piped to stdout. Therefore you
need to parse it manually. Doing so with `sed` is very easy. For example:
`... | spmenu ... | sed 's/<big>//g; s/</big>//g'`
See [this page](https://docs.gtk.org/Pango/pango_markup.html) for more information.
2023-03-20 14:03:18 +01:00
Configuration
=============
2023-03-14 21:31:24 +01:00
Unlike dmenu, spmenu has a configuration file which can be edited by hand. It
is located in ~/.config/spmenu/spmenu.conf, but you can override this by
exporting `$XDG_CONFIG_HOME`.
When spmenu is installed, it copies a sample configuration
to /usr/share/spmenu/spmenu.conf. You can copy this to your `.config/spmenu` directory.
This configuration file is loaded on startup.
You can also include other configuration files in the configuration file using
`@include "path/to/config"`.
.Xresources
=============
spmenu also has .Xresources (xrdb) support built in. It reads the xrdb
(.Xresources database) on runtime. You may disable it by passing -nxrdb,
or enable it by padding -xrdb. You can also set this in the regular config file.
2023-03-14 21:31:24 +01:00
spmenu loads `~/.config/spmenu/spmenurc` or alternatively if you're
old fashioned, `~/.spmenurc` on startup. This requires that `xrdb` is
available on your operating system. Of course, you don't NEED to use them,
as you can just `xrdb -override` any .Xresources file you want.
2023-03-14 21:31:24 +01:00
You can also use wildcards (such as `*`) to achieve a global colorscheme.
Programs like `pywal` do this to apply universal colorschemes.
2023-03-31 13:15:47 +02:00
Profiles
========
spmenu supports profiles. Profiles are like configuration
files (See `Configuration`) that can be switched between quickly using a keybind.
Pressing (by default) Ctrl+Shift+p will list out profiles, and also
allow you to add/remove existing profiles. Selecting a profile will switch
to that profile. The selected profile will now be loaded on startup just
like the spmenurc until another profile is selected.
Selecting 'Add' allows you to create a new profile. When a new profile is
created it is going to use the spmenu defaults (copied from `/usr/share/spmenu/example.Xresources`).
Profiles are going to be in `~/.config/spmenu/profiles/` and the current profile
is in `~/.config/spmenu/.profile`. The profile can simply be edited using
any text editor and be configured in .Xresources syntax.
Selecting `Remove` will allow you to pick a profile which will be permanently
removed. Selecting `Default` will simply load `spmenurc` and nothing
else on startup, as if this feature did not exist.
Not only can profiles be used to configure color schemes and fonts, allowing you
to swap color schemes quickly, but also any other options you may want.
2023-03-31 16:24:50 +02:00
Note that any profiles are applied ON TOP of the current loaded profile, meaning if
2023-03-31 13:15:47 +02:00
any options are missing from the selected profile, the setting in
2023-03-31 16:24:50 +02:00
the profile used before will be used in place.
2023-03-31 13:15:47 +02:00
There are a few color schemes for spmenu included in the repository, see
the `themes/` directory. Feel free to copy those to your profile directory.
Run launcher
============
2023-03-29 23:08:24 +02:00
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.
2023-03-29 23:08:24 +02:00
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.
2023-03-29 23:08:24 +02:00
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
2023-03-20 15:32:20 +01:00
2023-03-29 23:08:24 +02:00
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.
2023-04-03 15:14:20 +02:00
It can be configured through editing `~/.config/spmenu/desktop/config`. The
configuration file can also be moved by setting `${XDG_CONFIG_HOME}`.
2023-03-29 23:08:24 +02:00
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`
2023-04-02 01:49:58 +02:00
: Print various information about spmenu, such as compiler arguments and packaging.
2023-03-29 23:08:24 +02:00
`spmenu:test`
: Print a test script for spmenu which tests various features. Report any
weird issues you may have.
2023-03-28 23:50:02 +02:00
2023-03-20 15:32:20 +01:00
License
=======
2023-03-29 23:08:24 +02:00
spmenu is licensed under the MIT license because that's the original suckless
license. See the included LICENSE file for more information.
Reporting issues
================
Please report issues on the
2023-04-02 01:49:58 +02:00
[Codeberg repository](https://codeberg.org/speedie/speediegq) or alternatively
email me.