forked from RepoMirrors/bemenu
261 lines
7.4 KiB
Plaintext
261 lines
7.4 KiB
Plaintext
|
bemenu(1)
|
|||
|
|
|||
|
# NAME
|
|||
|
|
|||
|
*bemenu* - dynamic menu inspired by *dmenu*(1)
|
|||
|
|
|||
|
# SYNOPSIS
|
|||
|
|
|||
|
*bemenu* [*-hivwx*] [*-I* <_index_>] [*-l* <_lines_>] [*-P* _prefix_]
|
|||
|
\[*-p* <_prompt_>] [*--ifne*] [*--scrollbar* _none_|_always_|_autohide_]
|
|||
|
\[_backend_options_]
|
|||
|
|
|||
|
*bemenu-run* [*-hivwx*] [*-I* <_index_>] [*-l* <_lines_>] [*-P* <_prefix_>]
|
|||
|
\[*-p* <_prompt_>] [*--ifne*] [*--scrollbar* _none_|_always_|_autohide_]
|
|||
|
\[*--fork*] [*--no-exec*] [_backend-options_]
|
|||
|
|
|||
|
# DESCRIPTION
|
|||
|
|
|||
|
*bemenu* is a dynamic menu for *tty*(4) (using *ncurses*(3)), X11 and Wayland,
|
|||
|
inspired by *dmenu*(1).
|
|||
|
|
|||
|
It reads a list of newline-separated items from standard input and then presents
|
|||
|
them as a list, where the user can select one or more of them. When pressing
|
|||
|
*<carriage-return>*, the selected items are printed to standard output (one per
|
|||
|
line) and *bemenu* exits.
|
|||
|
|
|||
|
Entering text will filter the items to those that match the input. If the number
|
|||
|
of items exceeds the size of the list, the items will be paginated.
|
|||
|
|
|||
|
*bemenu-run* is a special-case invocation of *bemenu*, where the input is the
|
|||
|
list of executables under PATH and the selected items are executed.
|
|||
|
|
|||
|
# OPTIONS
|
|||
|
|
|||
|
*-h, --help*
|
|||
|
Print a help message to standard output and exit.
|
|||
|
|
|||
|
*-I, --index* <_index_>
|
|||
|
Highlight the item at _index_ at the start. Indices start at 0. By
|
|||
|
default, the first item is highlighted.
|
|||
|
|
|||
|
*-i, --ignorecase*
|
|||
|
Filter items case-insensitively.
|
|||
|
|
|||
|
*-l, --list* <_number_>
|
|||
|
List items vertically with the given _number_ of lines.
|
|||
|
|
|||
|
*-P, --prefix* <_prefix_>
|
|||
|
Display _prefix_ before the highlighted item in a vertical list.
|
|||
|
|
|||
|
*-p, --prompt* <_prompt_>
|
|||
|
Defines the _prompt_ text to be displayed to the left of the input
|
|||
|
field. Defaults to ‘bemenu’.
|
|||
|
|
|||
|
*-v, --version*
|
|||
|
Print the *bemenu* version number to standard output and exit.
|
|||
|
|
|||
|
*-w, --wrap*
|
|||
|
Advancing past the end of the list returns you to the start.
|
|||
|
|
|||
|
*-x, --password*
|
|||
|
Hide filter text.
|
|||
|
|
|||
|
*--fork*
|
|||
|
Always *fork*(2) before executing the selections. Disabled by default
|
|||
|
when using the terminal backend.
|
|||
|
|
|||
|
*--no-exec*
|
|||
|
Print the selected items to standard output instead of executing them.
|
|||
|
|
|||
|
*--scrollbar* _none_|_always_|_autohide_
|
|||
|
Specify when to show a scrollbar for vertical lists:
|
|||
|
[[ *none*
|
|||
|
:< Never display a scrollbar (the default).
|
|||
|
| *always*
|
|||
|
: Always display a scrollbar.
|
|||
|
| *autohide*
|
|||
|
: Only display a scrollbar when the number of items exceeds the number
|
|||
|
of lines.
|
|||
|
|
|||
|
## Backend options
|
|||
|
|
|||
|
These options are only available on backends specified in the parentheses:
|
|||
|
|
|||
|
*-b, --bottom* (Wayland, X11)
|
|||
|
The list will appear at the bottom of the screen.
|
|||
|
|
|||
|
*-f, --grab* (Wayland, X11)
|
|||
|
Show the *bemenu* window whilst reading the items.
|
|||
|
|
|||
|
*-H, --line-height* <_height_> (Wayland, X11)
|
|||
|
Specify the _height_ in point size to make each entry.
|
|||
|
|
|||
|
*-m, --monitor* <_index_> (Wayland, X11)
|
|||
|
Specify the monitor _index_ where the list should appear. Monitor
|
|||
|
indices start at zero. The interpretation of the given argument depends
|
|||
|
on the utilized backend. With X11 and Wayland, a value of ‘-1’ or
|
|||
|
*focused* indicates that the current monitor should be used (the
|
|||
|
default). With Wayland, the _index_ should be a string specifying a
|
|||
|
specific monitor name. The value ‘-2’ or *all* indicates that the list
|
|||
|
should appear on all monitors.
|
|||
|
|
|||
|
*-n, --no-overlap* (Wayland)
|
|||
|
Set the *bemenu* window to be on top of any other panels.
|
|||
|
|
|||
|
*-M, --margin* <_margin_> (Wayland, X11)
|
|||
|
Specify the _margin_ (empty space) in pixels to leave between menu and
|
|||
|
vertical view borders. *bemenu* will reduce it's size to fit in space
|
|||
|
between gaps.
|
|||
|
|
|||
|
*-W, --width-factor* <_factor_> (Wayland, X11)
|
|||
|
Specify the relative width factor as a floating point number. It makes
|
|||
|
sense to set it between 0 and 1 to define how much of the screen width
|
|||
|
*bemenu* will use. However, *bemenu* will still respect _margin_, so if
|
|||
|
resulting size is greater than space between gaps, *bemenu* will ignore
|
|||
|
_factor_ and use available space instead.
|
|||
|
|
|||
|
*--fn* <_name_ [_size_]> (Wayland, X11)
|
|||
|
Specify the font family _name_ and _size_ to be used. For more options,
|
|||
|
consult the _Pango Reference Manual_ for
|
|||
|
*pango_font_description_from_string*().
|
|||
|
|
|||
|
The following options control the colours for various parts of the list
|
|||
|
for the Wayland and X11 backends. Each takes an argument in the form of:
|
|||
|
|
|||
|
*#*_RGB_[_A_]
|
|||
|
|
|||
|
where _R_, _G_, _B_ and _A_ are hexadecimal integers from 00–FF that
|
|||
|
control the red, green, blue and alpha-transparency channels.
|
|||
|
|
|||
|
*--tb* <_color_> Title background.
|
|||
|
|
|||
|
*--tf* <_color_> Title foreground.
|
|||
|
|
|||
|
*--fb* <_color_> Filter background.
|
|||
|
|
|||
|
*--ff* <_color_> Filter foreground
|
|||
|
|
|||
|
*--nb* <_color_> Normal background.
|
|||
|
|
|||
|
*--nf* <_color_> Normal foreground.
|
|||
|
|
|||
|
*--hb* <_color_> Highlighted background.
|
|||
|
|
|||
|
*--hf* <_color_> Highlighted foreground.
|
|||
|
|
|||
|
*--sb* <_color_> Selected background.
|
|||
|
|
|||
|
*--sf* <_color_> Selected foreground.
|
|||
|
|
|||
|
*--scb* <_color_> Scrollbar background.
|
|||
|
|
|||
|
*--scf* <_color_> Scrollbar foreground.
|
|||
|
|
|||
|
# KEYBOARD COMMANDS
|
|||
|
|
|||
|
*bemenu* supports keyboard commands to move around the list and edit the filter.
|
|||
|
In the following examples, *C-x* means *<control-x>*, *M-x* means *<alt-x>* and
|
|||
|
*S-x* means *<shift-x>*:
|
|||
|
|
|||
|
*<cursor-up>, S-<cursor-left>, C-p, M-j, M-l*
|
|||
|
Highlight the previous item.
|
|||
|
|
|||
|
*<cursor-down>, <tab>, C-n, M-h, M-k*
|
|||
|
Highlight the next item.
|
|||
|
|
|||
|
*PageUp, M-v, M-u*
|
|||
|
Show the previous page of items, preserving the offset of the currently
|
|||
|
highlighted item, if possible.
|
|||
|
|
|||
|
*PageDown, C-v, M-d*
|
|||
|
Show the next page of items, preserving the offset of the currently
|
|||
|
highlighted item, if possible.
|
|||
|
|
|||
|
*S-M-<, S-PageUp*
|
|||
|
Highlight the first item in the list.
|
|||
|
|
|||
|
*S-M->, S-PageDown*
|
|||
|
Highlight the last item in the list.
|
|||
|
|
|||
|
*S-<tab>*
|
|||
|
Copy the highlighted item to the filter.
|
|||
|
|
|||
|
*<escape>, C-g*
|
|||
|
Terminate *bemenu* without printing items.
|
|||
|
|
|||
|
*C-<carriage-return>, C-m*
|
|||
|
Print selected items and the currently highlighted one, and exit. Items
|
|||
|
are printed in the order they were selected, with the currently
|
|||
|
highlighted item printed last.
|
|||
|
|
|||
|
*S-<carriage-return>, Insert*
|
|||
|
Print the filter text to standard output and exit.
|
|||
|
|
|||
|
*C-l, <cursor-left>*
|
|||
|
Move cursor left.
|
|||
|
|
|||
|
*C-f, <cursor-right>*
|
|||
|
Move cursor right.
|
|||
|
|
|||
|
*C-a, Home*
|
|||
|
Move cursor to the start.
|
|||
|
|
|||
|
*C-e, End*
|
|||
|
Move cursor to the end.
|
|||
|
|
|||
|
*<backspace> C-h*
|
|||
|
Remove character before the cursor.
|
|||
|
|
|||
|
*<delete>*
|
|||
|
Remove character at the cursor.
|
|||
|
|
|||
|
*C-u, S-<delete>*
|
|||
|
Remove all characters before the cursor.
|
|||
|
|
|||
|
*C-k*
|
|||
|
Remove all characters after the cursor.
|
|||
|
|
|||
|
*C-w*
|
|||
|
Clear the filter.
|
|||
|
|
|||
|
*C-y*
|
|||
|
Paste the clipboard.
|
|||
|
|
|||
|
*M-[0-9]*
|
|||
|
Print selected items and exit with a custom error code. See _EXIT
|
|||
|
STATUS_.
|
|||
|
|
|||
|
# ENVIRONMENT
|
|||
|
|
|||
|
[[ *BEMENU_OPTS*
|
|||
|
:< An alternative way to pass command line arguments to *bemenu*.
|
|||
|
| *BEMENU_BACKEND*
|
|||
|
: Force a backend to be used. If empty, one of the GUI backends (Wayland, X11)
|
|||
|
will be selected automatically. The accepted values are *curses*, *wayland*
|
|||
|
and *x11*.
|
|||
|
| *BEMENU_RENDERER*
|
|||
|
: Force a backend by loading its shared object from the set value.
|
|||
|
| *BEMENU_RENDERERS*
|
|||
|
: Override the backend search path to the set value. Defaults to
|
|||
|
_@LIBDIR@/bemenu_.
|
|||
|
| *BEMENU_SCALE*
|
|||
|
: Override the rendering scale factor for the GUI backends.
|
|||
|
|
|||
|
# EXIT STATUS
|
|||
|
|
|||
|
*bemenu* exits 0 on success, 1 if the user exited without selecting or an error,
|
|||
|
and if exiting with a custom error code, 10 plus the number specified.
|
|||
|
|
|||
|
# SEE ALSO
|
|||
|
|
|||
|
*dmenu*(1), *fork*(2), *ncurses*(3), *tty*(4)
|
|||
|
|
|||
|
_Pango Reference Manual_, https://developer.gnome.org/pango/1.46/, August 20,
|
|||
|
2020, Fonts — pango_font_description_from_string().
|
|||
|
|
|||
|
# AUTHORS
|
|||
|
|
|||
|
*bemenu* is written and maintained by Jari Vetoniemi <_mailroxas@gmail.com_>
|
|||
|
with the help of various contributors.
|