1
0
mirror of https://github.com/Cloudef/bemenu synced 2024-09-23 12:32:19 +02:00
bemenu/man/bemenu.1.scd.in

299 lines
8.1 KiB
Plaintext
Raw Normal View History

bemenu(1)
# NAME
*bemenu* - dynamic menu inspired by *dmenu*(1)
# SYNOPSIS
*bemenu* [*-hCiKTvwx*] [*-I* <_index_>] [*-l* <_lines_>] [*-P* <_prefix_>]
\[*-p* <_prompt_>] [*--ifne*] [*--scrollbar* _none_|_always_|_autohide_]
\[*--binding* _vim_] [*--fork*] [_backend_options_]
*bemenu-run* [*-hCiKTvwx*] [*-I* <_index_>] [*-l* <_lines_>] [*-P* <_prefix_>]
\[*-p* <_prompt_>] [*--ifne*] [*--scrollbar* _none_|_always_|_autohide_]
\[*--binding* _vim_] [*--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.
*-C, --no-cursor*
Disable all cursor events.
*-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.
*-K, --no-keyboard*
Disable all keyboard events.
*-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.
*-s, --no-spacing*
Disable the title spacing on entries.
*-T, --no-touch*
Disable all touch events.
*-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.
*--binding*
Use alternative key bindings. Available options: vim
*--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 00FF 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
2022-07-04 11:02:45 +02:00
*--cb* <_color_> Cursor background.
*--cf* <_color_> Cursor foreground
*--nb* <_color_> Normal background.
*--nf* <_color_> Normal foreground.
*--hb* <_color_> Highlighted background.
*--hf* <_color_> Highlighted foreground.
*--fbb* <_color_> Feedback background.
*--fbf* <_color_> Feedback foreground.
*--sb* <_color_> Selected background.
*--sf* <_color_> Selected foreground.
*--ab* <_color_> Alternating background color.
*--af* <_color_> Alternating foreground color.
*--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.
2022-11-20 16:05:20 +01:00
*M-[1-9]*
Print selected items and exit with a custom error code 10 (*M-1*)
through 18 (*M-9*), see _EXIT STATUS_.
*M-0*
Print selected items and exit with the custom error code 19, 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
2022-11-20 16:05:20 +01:00
*0*
bemenu ran successfully.
*1*
The user exited without selecting, or bemenu encountered an error.
*10-19*
The user specified a custom exit code with *M-[0-9]*, see _KEYBOARD
COMMANDS_.
# 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.