2023-03-28 15:10:57 +02:00
|
|
|
.\" Automatically generated by Pandoc 3.0.1
|
2023-02-26 15:37:09 +01:00
|
|
|
.\"
|
|
|
|
.\" Define V font for inline verbatim, using C font in formats
|
|
|
|
.\" that render this, and otherwise B font.
|
|
|
|
.ie "\f[CB]x\f[]"x" \{\
|
|
|
|
. ftr V B
|
|
|
|
. ftr VI BI
|
|
|
|
. ftr VB B
|
|
|
|
. ftr VBI BI
|
|
|
|
.\}
|
|
|
|
.el \{\
|
|
|
|
. ftr V CR
|
|
|
|
. ftr VI CI
|
|
|
|
. ftr VB CB
|
|
|
|
. ftr VBI CBI
|
|
|
|
.\}
|
2023-04-27 08:21:46 +02:00
|
|
|
.TH "spmenu" "1" "" "1.0" "fancy dynamic menu"
|
2023-02-26 15:37:09 +01:00
|
|
|
.hy
|
|
|
|
.SH spmenu
|
|
|
|
.PP
|
|
|
|
spmenu is a program for X11 that reads standard input and allows the
|
|
|
|
user to select items separated by a newline.
|
2023-04-25 18:11:49 +02:00
|
|
|
It\[cq]s a fork of suckless\[cq]s
|
|
|
|
dmenu (https://tools.suckless.org/dmenu) which is a good more minimal
|
|
|
|
alternative to spmenu.
|
2023-02-26 15:37:09 +01:00
|
|
|
.PP
|
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-03-08 21:12:37 +01:00
|
|
|
.PP
|
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-04-25 18:11:49 +02:00
|
|
|
.SS Usage
|
2023-02-26 15:37:09 +01:00
|
|
|
.PP
|
|
|
|
On runtime, spmenu reads from standard input (stdin).
|
|
|
|
spmenu items are separated by a newline (\f[V]\[rs]n\f[R]).
|
|
|
|
When (by default) Enter is pressed, the selected item will be piped to
|
|
|
|
stdout.
|
|
|
|
.PP
|
|
|
|
This allows things like
|
|
|
|
\f[V]printf \[dq]Apple\[rs]nOrange\[rs]nPear\[rs]n\[dq] | spmenu\f[R].
|
|
|
|
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.
|
|
|
|
.PP
|
|
|
|
On top of this, you can specify arguments to change the behavior of
|
|
|
|
spmenu.
|
|
|
|
See a list below for a list.
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS Arguments
|
2023-03-17 15:31:41 +01:00
|
|
|
.PP
|
2023-03-20 16:00:50 +01:00
|
|
|
You may use long, descriptive arguments or the shorter arguments.
|
|
|
|
.TP
|
2023-04-22 14:18:30 +02:00
|
|
|
\f[V]-mh, --line-height height\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set spmenu line height to height
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-mw, --min-width width\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set minimum width to width
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-g, --columns grid\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the number of grids to grid
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-gc, --generate-cache\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Generate image cache
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-ngc, --no-generate-cache\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Don\[cq]t generate image cache
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-mc, --max-cache size\f[R]
|
2023-03-21 21:52:14 +01:00
|
|
|
Set max image cache size to size
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-rw, --relative-width\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Enable relative input width
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nrw, --no-relative-width\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Disable relative input width
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-f, --fast\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Grabs keyboard before reading stdin
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-F, --fuzzy\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Enable fuzzy matching
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-NF, --no-fuzzy\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Disable fuzzy matching
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-P, --password\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Hide characters
|
|
|
|
.TP
|
2023-04-07 17:58:42 +02:00
|
|
|
\f[V]-nP, --no-password\f[R]
|
|
|
|
Don\[cq]t hide characters
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-p, --prompt text\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set spmenu prompt text to text
|
|
|
|
.TP
|
2023-04-03 15:14:20 +02:00
|
|
|
\f[V]-It, --input text\f[R]
|
|
|
|
Set initial input text to text
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-ip, --indent\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Indent items to prompt width
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nip, --no-indent\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Don\[cq]t indent items to prompt width
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-ci, --color-items\f[R]
|
2023-03-28 15:10:57 +02:00
|
|
|
Color items
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nci, --no-color-items\f[R]
|
2023-03-28 15:10:57 +02:00
|
|
|
Don\[cq]t color items
|
|
|
|
.TP
|
2023-04-20 19:19:46 +02:00
|
|
|
\f[V]-sgr, --sgr\f[R]
|
|
|
|
Interpret SGR sequences
|
|
|
|
.TP
|
|
|
|
\f[V]-nsgr, --no-sgr\f[R]
|
|
|
|
Display SGR sequences as text
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-a, --alpha\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Enable alpha
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-na, --no-alpha\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Disable alpha
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-tp, --allow-typing\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Allow the user to type
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nt, --no-allow-typing\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Don\[cq]t allow typing, the user must select an option
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-x, --x-position x offset\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Offset spmenu x position by x offset
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-y, --y-position y offset\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Offset spmenu y position by y offset
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-n, --preselect line\f[R]
|
|
|
|
Preselect line line in the list of items
|
2023-03-20 16:00:50 +01:00
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-z, --width width\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Width of the spmenu window
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nmt, --normal-mode-text text\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set normal mode text to text
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-imt, --insert-mode-text text\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set insert mode text to text
|
|
|
|
.TP
|
2023-04-20 21:22:45 +02:00
|
|
|
\f[V]-clon, --caps-lock-on-text text\f[R]
|
|
|
|
Set caps lock on text to text
|
|
|
|
.TP
|
|
|
|
\f[V]-clof, --caps-lock-off-text text\f[R]
|
|
|
|
Set caps lock off text to text
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-bw, --border-width width\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set width of the border to width .
|
2023-02-26 15:37:09 +01:00
|
|
|
0 will disable the border
|
2023-03-20 16:00:50 +01:00
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-so, --sort\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Sort matches
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nso, --no-sort\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Don\[cq]t sort matches
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-pri, --priority pri1,pri2,pri3\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Specify a list of items that take priority
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-s, --case-sensitive\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Use case-sensitive matching
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-ns, --case-insensitive\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Use case-insensitive matching
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nm, --normal\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Start spmenu in normal mode
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-im, --insert\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Start spmenu in insert mode
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-t, --top\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Position spmenu at the top of the screen
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-b, --bottom\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Position spmenu at the bottom of the screen
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-c, --center\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Position spmenu at the center of the screen
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-hm, --hide-mode\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Hide mode indicator
|
|
|
|
.TP
|
2023-04-07 17:58:42 +02:00
|
|
|
\f[V]-hit, --hide-item\f[R]
|
|
|
|
Hide items
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-hmc, --hide-match-count\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Hide match count
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-hla, --hide-left-arrow\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Hide left arrow
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-hra, --hide-right-arrow\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Hide right arrow
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-hpr, --hide-prompt\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Hide prompt
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-hip, --hide-input\f[R]
|
2023-03-28 17:37:06 +02:00
|
|
|
Hide input
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-hpl, --hide-powerline\f[R]
|
2023-03-21 21:52:14 +01:00
|
|
|
Hide powerline
|
|
|
|
.TP
|
2023-04-07 20:22:25 +02:00
|
|
|
\f[V]-hc, --hide-caret, --hide-cursor\f[R]
|
|
|
|
Hide caret
|
2023-03-20 16:00:50 +01:00
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-hhl, --hide-highlighting\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Hide highlight
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-hi, --hide-image\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Hide image
|
|
|
|
.TP
|
2023-04-20 21:22:45 +02:00
|
|
|
\f[V]-hcl, --hide-caps\f[R]
|
|
|
|
Hide caps lock indicator
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sm, --show-mode\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Show mode indicator
|
|
|
|
.TP
|
2023-04-07 17:58:42 +02:00
|
|
|
\f[V]-sit, --show-item\f[R]
|
|
|
|
Show items
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-smc, --show-match-count\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Show match count
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sla, --show-left-arrow\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Show left arrow
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sra, --show-right-arrow\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Show right arrow
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-spr, --show-prompt\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Show prompt
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sin, --show-input\f[R]
|
2023-03-28 17:37:06 +02:00
|
|
|
Show input
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-spl, --show-powerline\f[R]
|
2023-03-21 21:52:14 +01:00
|
|
|
Show powerline
|
|
|
|
.TP
|
2023-04-07 20:22:25 +02:00
|
|
|
\f[V]-sc, --show-caret, --show-cursor\f[R]
|
|
|
|
Show caret
|
2023-03-20 16:00:50 +01:00
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-shl, --show-highlighting\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Show highlight
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-si, --show-image\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Show image
|
|
|
|
.TP
|
2023-04-22 21:34:37 +02:00
|
|
|
\f[V]-scl, --show-caps\f[R]
|
|
|
|
Show caps lock indicator
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-xrdb, --xrdb\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Load .Xresources on runtime
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nxrdb, --no-xrdb\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Don\[cq]t load .Xresources on runtime
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-gbc, --global-colors\f[R]
|
2023-03-30 19:06:04 +02:00
|
|
|
Recognize global colors (such as *.color1) on runtime
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-ngbc, --no-global-colors\f[R]
|
2023-03-30 19:06:04 +02:00
|
|
|
Don\[cq]t recognize global colors (such as *.color1) on runtime
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-m, --monitor monitor\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Specify a monitor to run spmenu on
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-w, --embed window id\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Embed spmenu inside window id
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-H, --hist-file hist file\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Specify a path to save the history to
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-ig, --image-gaps gaps\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set image gaps to gaps
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-txp, --text-padding padding\f[R]
|
2023-03-29 21:37:48 +02:00
|
|
|
Set text padding to padding
|
|
|
|
.TP
|
2023-04-16 23:57:02 +02:00
|
|
|
\f[V]-vem, --vertical-margin margin\f[R]
|
|
|
|
Set the vertical margin
|
|
|
|
.TP
|
|
|
|
\f[V]-hem, --horizontal-margin margin\f[R]
|
|
|
|
Set the horizontal margin
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-lp, --vertical-padding padding\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the vertical padding
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-hp, --horizontal-padding padding\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the horizontal padding
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-la, --left-arrow-symbol symbol\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the left arrow to symbol
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-ra, --right-arrow-symbol symbol\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the right arrow to symbol
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-is, --image-size size\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Image size
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-it, --image-top\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Position the image at the top
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-ib, --image-bottom\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Position the image at the bottom
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-ic, --image-center\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Position the image in the center
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-itc, --image-topcenter\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Position the image in the top center
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-wm, --managed, --x11-client\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Spawn spmenu as a window manager controlled client/window.
|
2023-03-17 15:31:41 +01:00
|
|
|
Useful for testing
|
2023-03-20 16:00:50 +01:00
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nwm, --unmanaged\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Don\[cq]t spawn spmenu as a window manager controlled client/window.
|
2023-03-17 15:31:41 +01:00
|
|
|
Useful for testing
|
2023-03-20 16:00:50 +01:00
|
|
|
.TP
|
2023-04-07 18:42:12 +02:00
|
|
|
\f[V]-cf, --config-file file\f[R]
|
|
|
|
Set config file to load to file
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-lcfg, --load-config\f[R]
|
2023-04-07 18:42:12 +02:00
|
|
|
Load spmenu configuration (\[ti]/.config/spmenu/spmenu.conf,
|
|
|
|
\[ti]/.spmenurc or \[ti]/.config/spmenu/spmenurc)
|
2023-03-20 16:00:50 +01:00
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-ncfg, --no-load-config\f[R]
|
2023-04-07 18:42:12 +02:00
|
|
|
Don\[cq]t load spmenu configuration (\[ti]/.config/spmenu/spmenu.conf,
|
|
|
|
\[ti]/.spmenurc or \[ti]/.config/spmenu/spmenurc)
|
2023-03-20 16:00:50 +01:00
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-v, --version\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Print spmenu version to stdout
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-fn, --font font\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the spmenu font to font
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nif, --normal-item-foreground color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the normal item foreground color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nib, --normal-item-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the normal item background color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sif, --selected-item-foreground color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the selected item foreground color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sib, --selected-item-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the selected item background color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-npf, --normal-item-priority-foreground color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the normal item (high priority) foreground color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-npb, --normal-item-priority-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the normal item (high priority) background color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-spf, --selected-item-priority-foreground color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the selected item (high priority) foreground color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-spb, --selected-item-priority-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the selected item (high priority) background color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-pfg, --prompt-foreground color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the prompt foreground color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-pbg, --prompt-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the prompt background color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-ifg, --input-foreground color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set input foreground color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-ibg, --input-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set input background color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-mnbg, --menu-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the menu background color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nhf, --normal-highlight-foreground color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the normal highlight foreground color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nhb, --normal-highlight-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the normal highlight background color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-shf, --selected-highlight-foreground color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the selected highlight foreground color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-shb, --selected-highlight-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the selected highlight background color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nfg, --number-foreground color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the foreground color for the match count
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-nbg, --number-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the background color for the match count
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-mfg, --mode-foreground color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the foreground color for the mode indicator
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-mbg, --mode-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the background color for the mode indicator
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-laf, --left-arrow-foreground color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the left arrow foreground color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-raf, --right-arrow-foreground color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the right arrow foreground color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-lab, --left-arrow-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the left arrow background color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-rab, --right-arrow-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the right arrow background color
|
|
|
|
.TP
|
2023-04-17 17:36:18 +02:00
|
|
|
\f[V]-cfc, --caret-foreground color\f[R]
|
|
|
|
Set the caret foreground color
|
|
|
|
.TP
|
|
|
|
\f[V]-cbc, --caret-background color\f[R]
|
|
|
|
Set the caret background color
|
2023-03-20 16:00:50 +01:00
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-bc, --border-background color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the border color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr0, --sgr0 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 0 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr1, --sgr1 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 1 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr2, --sgr2 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 2 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr3, --sgr3 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 3 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr4, --sgr4 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 4 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr5, --sgr5 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 5 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr6, --sgr6 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 6 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr7, --sgr7 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 7 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr8, --sgr8 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 8 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr9, --sgr9 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 9 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr10, --sgr10 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 10 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr11, --sgr11 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 11 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr12, --sgr12 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 12 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr13, --sgr13 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 13 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr14, --sgr14 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 14 color
|
|
|
|
.TP
|
2023-04-02 01:37:37 +02:00
|
|
|
\f[V]-sgr15, --sgr15 color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the SGR 15 color
|
2023-03-17 15:31:41 +01:00
|
|
|
.PP
|
2023-03-20 16:00:50 +01:00
|
|
|
dmenu compatibility can be achieved using these arguments:
|
|
|
|
.TP
|
|
|
|
\f[V]-S\f[R]
|
|
|
|
Don\[cq]t sort matches
|
|
|
|
.TP
|
|
|
|
\f[V]-i\f[R]
|
|
|
|
Use case-insensitive matching
|
|
|
|
.TP
|
|
|
|
\f[V]-nb color\f[R]
|
|
|
|
Set the normal background color
|
|
|
|
.TP
|
|
|
|
\f[V]-nf color\f[R]
|
|
|
|
Set the normal foreground color
|
|
|
|
.TP
|
|
|
|
\f[V]-sb color\f[R]
|
2023-03-24 15:58:36 +01:00
|
|
|
Set the selected background color
|
|
|
|
.TP
|
|
|
|
\f[V]-sf color\f[R]
|
2023-03-20 16:00:50 +01:00
|
|
|
Set the selected foreground color
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS Keybinds
|
2023-02-26 15:37:09 +01:00
|
|
|
.PP
|
2023-04-25 18:11:49 +02:00
|
|
|
You can set keybinds through the config file.
|
|
|
|
A default config file is available after installing spmenu.
|
|
|
|
This configuration file has identical keybindings to the default
|
|
|
|
hardcoded keybinds.
|
|
|
|
.PP
|
|
|
|
By default, the configuration file will ignore all hardcoded keybindings
|
|
|
|
to prevent keybind conflicts, but if you do not like this behaviour you
|
|
|
|
can simply set \f[V]ignoreglobalkeys = 1\f[R].
|
|
|
|
.SS Modes
|
2023-02-26 15:37:09 +01:00
|
|
|
.PP
|
|
|
|
One of the features that separate spmenu from dmenu is spmenu\[cq]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.
|
|
|
|
.PP
|
|
|
|
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.
|
|
|
|
.PP
|
|
|
|
Insert mode is entered through (by default) pressing \f[V]i\f[R] 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\[cq]re done with insert mode, you can press Escape to enter
|
|
|
|
normal mode again.
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS -p option
|
2023-02-26 15:37:09 +01:00
|
|
|
.PP
|
|
|
|
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-04-25 18:11:49 +02:00
|
|
|
.SS Images
|
2023-02-26 15:37:09 +01:00
|
|
|
.PP
|
|
|
|
spmenu supports drawing images.
|
|
|
|
This image is placed on the left side of the menu window.
|
|
|
|
To use an image, pipe \f[V]IMG:/path/to/image\f[R] to spmenu.
|
|
|
|
If you want you can specify arguments like usual.
|
|
|
|
Note that you should add a Tab (\f[V]\[rs]t\f[R]) 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.
|
|
|
|
.PP
|
|
|
|
Any text after the Tab character will be interpreted as a regular item.
|
|
|
|
In practice, drawing an image might look like this:
|
|
|
|
.PP
|
2023-03-08 18:45:13 +01:00
|
|
|
\f[V]printf \[dq]IMG:/path/to/image\[rs]tLook at that image, isn\[aq]t it awesome?\[rs]n\[dq] | spmenu\f[R]
|
2023-02-26 15:37:09 +01:00
|
|
|
.PP
|
2023-03-08 18:45:13 +01:00
|
|
|
There are also a few image related arguments, such as:
|
|
|
|
.PP
|
|
|
|
\f[V]-is\f[R], \f[V]-ig\f[R], \f[V]-it\f[R], \f[V]-ib\f[R],
|
|
|
|
\f[V]-ic\f[R], \f[V]-itc\f[R] and \f[V]-gc\f[R].
|
2023-03-24 15:58:36 +01:00
|
|
|
.PP
|
|
|
|
NOTE: Vector images (such as .svg) can be displayed too.
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS Colored text
|
2023-02-26 15:37:09 +01:00
|
|
|
.PP
|
|
|
|
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.
|
|
|
|
.PP
|
2023-04-02 17:52:15 +02: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.
|
|
|
|
Example:
|
2023-04-03 15:14:20 +02:00
|
|
|
\f[V]printf \[dq]\[rs]033[0;44m😀\[rs]033[0m Emoji highlighting\[rs]n\[dq] | spmenu --columns 1\f[R]
|
2023-04-02 17:52:15 +02:00
|
|
|
.PP
|
2023-03-14 21:31:24 +01:00
|
|
|
For 256 color support to work, you must add to the array.
|
|
|
|
See \f[V]libs/color.h\f[R] if you want this.
|
|
|
|
.PP
|
|
|
|
See `SGR sequences' for more information.
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS SGR sequences
|
2023-03-14 21:31:24 +01:00
|
|
|
.PP
|
|
|
|
A basic supported SGR sequence looks like this: \f[V]\[rs]033[X;YZm\f[R]
|
|
|
|
.PP
|
|
|
|
Here, X specifies if you want normal or bright colors.
|
|
|
|
Y specifies if you want background or foreground.
|
|
|
|
Z specifies the color number.
|
|
|
|
.PP
|
|
|
|
Foreground colors: \f[V]30\f[R] through \f[V]37\f[R] Background colors:
|
|
|
|
\f[V]40\f[R] through \f[V]47\f[R] Reset: \f[V]0\f[R]
|
|
|
|
.PP
|
|
|
|
NOTE: \f[V];\f[R] is a separator, and in this example it separates the
|
|
|
|
color number and normal/bright.
|
|
|
|
\[rs]033 may also be written as \f[V]\[ha]]\f[R] or simply
|
|
|
|
\f[V]ESC\f[R].
|
2023-04-02 17:52:15 +02:00
|
|
|
The separator may be omitted for some sequences, such as
|
|
|
|
\f[V]\[rs]033[0m\f[R] which resets the colorscheme.
|
2023-03-14 21:31:24 +01:00
|
|
|
.PP
|
|
|
|
spmenu supports most color sequences, although not true color by default
|
|
|
|
(unless -sgr arguments are used).
|
|
|
|
.PP
|
|
|
|
There are a few arguments, you can override SGR colors on-the-fly using
|
|
|
|
the \f[V]-sgrX\f[R] arguments.
|
|
|
|
See `Arguments' for more information.
|
2023-04-02 01:37:37 +02:00
|
|
|
.PP
|
|
|
|
Just as a tip, you can pipe your colored spmenu output to
|
|
|
|
\f[V]sed -e \[aq]s/\[rs]x1b\[rs][[0-9;]*m//g\[aq]\f[R].
|
|
|
|
This will clear the SGR sequences from the output.
|
|
|
|
This is useful when you want to check what the output actually is.
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS Pango markup
|
2023-04-02 01:37:37 +02:00
|
|
|
.PP
|
|
|
|
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.
|
|
|
|
.PP
|
|
|
|
Pango markup allows you to style text similar to an HTML document.
|
|
|
|
It also provides the \f[V]<span>\f[R] tag, which can be used to do
|
|
|
|
surprisingly complex things.
|
|
|
|
.PP
|
|
|
|
There are many convenient tags as well which can be used to avoid using
|
|
|
|
a \f[V]<span>\f[R] tag, such as:
|
|
|
|
.TP
|
|
|
|
\f[V]<b>\f[R]
|
|
|
|
\f[B]Bold\f[R] text (\f[V]<b>Bold</b>\f[R])
|
|
|
|
.TP
|
|
|
|
\f[V]<i>\f[R]
|
|
|
|
\f[I]Italic\f[R] text (\f[V]<i>Italic</i>\f[R])
|
|
|
|
.TP
|
|
|
|
\f[V]<s>\f[R]
|
|
|
|
Strikethrough text (\f[V]<s>Strikethrough</s>\f[R])
|
|
|
|
.TP
|
|
|
|
\f[V]<u>\f[R]
|
|
|
|
Underline text (\f[V]<u>Underline</u>\f[R])
|
|
|
|
.TP
|
|
|
|
\f[V]<sub>\f[R]
|
|
|
|
Subscript (\f[V]<sub>Subscript</sub>\f[R])
|
|
|
|
.TP
|
|
|
|
\f[V]<sup>\f[R]
|
|
|
|
Superscript (\f[V]<sup>Supscript</sup>\f[R])
|
|
|
|
.TP
|
|
|
|
\f[V]<tt>\f[R]
|
|
|
|
Monospace font (\f[V]<tt>Monospaced font is used here</tt>\f[R])
|
|
|
|
.TP
|
|
|
|
\f[V]<small>\f[R]
|
|
|
|
Small text (\f[V]<small>text is so small here</small>\f[R])
|
|
|
|
.TP
|
|
|
|
\f[V]<big>\f[R]
|
|
|
|
Big text (\f[V]<big>text is so big here</big>\f[R])
|
|
|
|
.PP
|
|
|
|
Note that Pango markup is NOT escaped, and is piped to stdout.
|
|
|
|
Therefore you need to parse it manually.
|
|
|
|
Doing so with \f[V]sed\f[R] is very easy.
|
|
|
|
For example:
|
|
|
|
\f[V]... | spmenu ... | sed \[aq]s/<big>//g; s/</big>//g\[aq]\f[R]
|
|
|
|
.PP
|
|
|
|
See this page (https://docs.gtk.org/Pango/pango_markup.html) for more
|
|
|
|
information.
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS Configuration
|
2023-03-14 21:31:24 +01:00
|
|
|
.PP
|
2023-04-04 21:39:38 +02:00
|
|
|
Unlike dmenu, spmenu has a configuration file which can be edited by
|
|
|
|
hand.
|
|
|
|
It is located in \[ti]/.config/spmenu/spmenu.conf, but you can override
|
|
|
|
this by exporting \f[V]$XDG_CONFIG_HOME\f[R].
|
|
|
|
.PP
|
|
|
|
When spmenu is installed, it copies a sample configuration to
|
|
|
|
/usr/share/spmenu/spmenu.conf.
|
|
|
|
You can copy this to your \f[V].config/spmenu\f[R] directory.
|
|
|
|
This configuration file is loaded on startup.
|
|
|
|
.PP
|
|
|
|
You can also include other configuration files in the configuration file
|
|
|
|
using \f[V]\[at]include \[dq]path/to/config\[dq]\f[R].
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS .Xresources
|
2023-04-04 21:39:38 +02:00
|
|
|
.PP
|
|
|
|
spmenu also has .Xresources (xrdb) support built in.
|
2023-03-14 21:31:24 +01:00
|
|
|
It reads the xrdb (.Xresources database) on runtime.
|
|
|
|
You may disable it by passing -nxrdb, or enable it by padding -xrdb.
|
2023-04-04 21:39:38 +02:00
|
|
|
You can also set this in the regular config file.
|
2023-03-14 21:31:24 +01:00
|
|
|
.PP
|
|
|
|
spmenu loads \f[V]\[ti]/.config/spmenu/spmenurc\f[R] or alternatively if
|
2023-04-04 21:39:38 +02:00
|
|
|
you\[cq]re old fashioned, \f[V]\[ti]/.spmenurc\f[R] on startup.
|
2023-03-14 21:31:24 +01:00
|
|
|
This requires that \f[V]xrdb\f[R] is available on your operating system.
|
2023-04-04 21:39:38 +02:00
|
|
|
Of course, you don\[cq]t NEED to use them, as you can just
|
|
|
|
\f[V]xrdb -override\f[R] any .Xresources file you want.
|
2023-03-14 21:31:24 +01:00
|
|
|
.PP
|
|
|
|
You can also use wildcards (such as \f[V]*\f[R]) to achieve a global
|
|
|
|
colorscheme.
|
2023-03-24 15:58:36 +01:00
|
|
|
Programs like \f[V]pywal\f[R] do this to apply universal colorschemes.
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS Profiles
|
2023-03-31 13:15:47 +02:00
|
|
|
.PP
|
|
|
|
spmenu supports profiles.
|
|
|
|
Profiles are like configuration files (See \f[V]Configuration\f[R]) that
|
|
|
|
can be switched between quickly using a keybind.
|
|
|
|
.PP
|
|
|
|
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.
|
|
|
|
.PP
|
|
|
|
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 \f[V]/usr/share/spmenu/example.Xresources\f[R]).
|
|
|
|
Profiles are going to be in \f[V]\[ti]/.config/spmenu/profiles/\f[R] and
|
|
|
|
the current profile is in \f[V]\[ti]/.config/spmenu/.profile\f[R].
|
|
|
|
The profile can simply be edited using any text editor and be configured
|
|
|
|
in .Xresources syntax.
|
|
|
|
.PP
|
|
|
|
Selecting \f[V]Remove\f[R] will allow you to pick a profile which will
|
|
|
|
be permanently removed.
|
|
|
|
Selecting \f[V]Default\f[R] will simply load \f[V]spmenurc\f[R] and
|
|
|
|
nothing else on startup, as if this feature did not exist.
|
|
|
|
.PP
|
|
|
|
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.
|
|
|
|
.PP
|
2023-03-31 16:24:50 +02:00
|
|
|
Note that any profiles are applied ON TOP of the current loaded profile,
|
2023-03-31 13:15:47 +02:00
|
|
|
meaning if any options are missing from the selected profile, the
|
2023-03-31 16:24:50 +02:00
|
|
|
setting in the profile used before will be used in place.
|
2023-03-31 13:15:47 +02:00
|
|
|
.PP
|
|
|
|
There are a few color schemes for spmenu included in the repository, see
|
|
|
|
the \f[V]themes/\f[R] directory.
|
|
|
|
Feel free to copy those to your profile directory.
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS Run launcher
|
2023-03-24 15:58:36 +01:00
|
|
|
.PP
|
2023-04-28 18:24:27 +02:00
|
|
|
spmenu includes a powerful Bash script called spmenu_run.
|
2023-03-24 15:58:36 +01:00
|
|
|
It lists executable programs in $PATH and displays them to the user in a
|
|
|
|
list.
|
2023-04-28 18:24:27 +02:00
|
|
|
Not only that but it optionally shows recently run programs first in the
|
|
|
|
list.
|
2023-03-24 15:58:36 +01:00
|
|
|
.PP
|
|
|
|
The selected option is piped to /bin/sh (by default).
|
|
|
|
Unlike dmenu_run, spmenu_run has some cool features.
|
|
|
|
For example:
|
|
|
|
.IP \[bu] 2
|
|
|
|
Prepending \f[V]#\f[R] will spawn it in a terminal instead of just a
|
|
|
|
shell.
|
|
|
|
.IP \[bu] 2
|
2023-04-10 21:00:48 +02:00
|
|
|
Prepending \f[V]?\f[R] will run the command in a function, most of the
|
|
|
|
time used to display the man page.
|
|
|
|
.IP \[bu] 2
|
2023-03-24 15:58:36 +01:00
|
|
|
Prepending \f[V]magnet\f[R] will open a magnet link in $TORRENT
|
|
|
|
.IP \[bu] 2
|
|
|
|
Prepending \f[V]www\f[R] will open a page in $BROWSER
|
2023-03-28 23:50:02 +02:00
|
|
|
.PP
|
|
|
|
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.
|
2023-03-29 23:08:24 +02:00
|
|
|
.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.
|
|
|
|
.PP
|
2023-04-28 18:24:27 +02:00
|
|
|
In addition to the $PATH listing, spmenu_run also allows listing out and
|
|
|
|
displaying .desktop entries.
|
|
|
|
It does this in style, too by displaying the program icon.
|
2023-03-29 23:08:24 +02:00
|
|
|
.PP
|
|
|
|
It can be configured through editing
|
2023-04-28 18:24:27 +02:00
|
|
|
\f[V]\[ti]/.config/spmenu/run/config\f[R].
|
2023-04-03 15:14:20 +02:00
|
|
|
The configuration file can also be moved by setting
|
|
|
|
\f[V]${XDG_CONFIG_HOME}\f[R].
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS spmenu commands
|
2023-03-29 23:08:24 +02:00
|
|
|
.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:test\f[R]
|
|
|
|
Print a test script for spmenu which tests various features.
|
|
|
|
Report any weird issues you may have.
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS License
|
2023-03-20 15:32:20 +01:00
|
|
|
.PP
|
2023-03-29 23:08:24 +02:00
|
|
|
spmenu is licensed under the MIT license because that\[cq]s the original
|
|
|
|
suckless license.
|
2023-03-20 15:32:20 +01:00
|
|
|
See the included LICENSE file for more information.
|
2023-04-25 18:11:49 +02:00
|
|
|
.SS Reporting issues
|
2023-04-02 01:37:37 +02:00
|
|
|
.PP
|
|
|
|
Please report issues on the Codeberg
|
2023-04-28 18:24:27 +02:00
|
|
|
repository (https://codeberg.org/speedie/spmenu) or alternatively email
|
|
|
|
me.
|