1bemenu(1) General Commands Manual bemenu(1)
2
3
4
6 bemenu - dynamic menu inspired by dmenu(1)
7
9 bemenu [-hivwx] [-I <index>] [-l <lines>] [-P prefix]
10 [-p <prompt>] [--ifne] [--scrollbar none|always|autohide] [back‐
11 end_options]
12
13 bemenu-run [-hivwx] [-I <index>] [-l <lines>] [-P <prefix>]
14 [-p <prompt>] [--ifne] [--scrollbar none|always|autohide] [--fork]
15 [--no-exec] [backend-options]
16
18 bemenu is a dynamic menu for tty(4) (using ncurses(3)), X11 and Way‐
19 land, inspired by dmenu(1).
20
21 It reads a list of newline-separated items from standard input and then
22 presents them as a list, where the user can select one or more of them.
23 When pressing <carriage-return>, the selected items are printed to
24 standard output (one per line) and bemenu exits.
25
26 Entering text will filter the items to those that match the input. If
27 the number of items exceeds the size of the list, the items will be
28 paginated.
29
30 bemenu-run is a special-case invocation of bemenu, where the input is
31 the list of executables under PATH and the selected items are executed.
32
34 -h, --help
35 Print a help message to standard output and exit.
36
37 -I, --index <index>
38 Highlight the item at index at the start. Indices start at 0. By
39 default, the first item is highlighted.
40
41 -i, --ignorecase
42 Filter items case-insensitively.
43
44 -l, --list <number>
45 List items vertically with the given number of lines.
46
47 -P, --prefix <prefix>
48 Display prefix before the highlighted item in a vertical list.
49
50 -p, --prompt <prompt>
51 Defines the prompt text to be displayed to the left of the input
52 field. Defaults to ‘bemenu’.
53
54 -v, --version
55 Print the bemenu version number to standard output and exit.
56
57 -w, --wrap
58 Advancing past the end of the list returns you to the start.
59
60 -x, --password
61 Hide filter text.
62
63 --fork
64 Always fork(2) before executing the selections. Disabled by default
65 when using the terminal backend.
66
67 --no-exec
68 Print the selected items to standard output instead of executing
69 them.
70
71 --scrollbar none|always|autohide
72 Specify when to show a scrollbar for vertical lists:
73
74 ┌─────────┬────────────────────────────────────────────────────────────┐
75 │none │ Never display a scrollbar (the default). │
76 ├─────────┼────────────────────────────────────────────────────────────┤
77 │always │ Always display a scrollbar. │
78 ├─────────┼────────────────────────────────────────────────────────────┤
79 │autohide │ Only display a scrollbar when the number of items exceeds │
80 │ │ the number of lines. │
81 └─────────┴────────────────────────────────────────────────────────────┘
82
83 Backend options
84 These options are only available on backends specified in the parenthe‐
85 ses:
86
87 -b, --bottom (Wayland, X11)
88 The list will appear at the bottom of the screen.
89
90 -f, --grab (Wayland, X11)
91 Show the bemenu window whilst reading the items.
92
93 -H, --line-height <height> (Wayland, X11)
94 Specify the height in point size to make each entry.
95
96 -m, --monitor <index> (Wayland, X11)
97 Specify the monitor index where the list should appear. Monitor in‐
98 dices start at zero. The interpretation of the given argument de‐
99 pends on the utilized backend. With X11 and Wayland, a value of
100 ‘-1’ or focused indicates that the current monitor should be used
101 (the default). With Wayland, the index should be a string specify‐
102 ing a specific monitor name. The value ‘-2’ or all indicates that
103 the list should appear on all monitors.
104
105 -n, --no-overlap (Wayland)
106 Set the bemenu window to be on top of any other panels.
107
108 -M, --margin <margin> (Wayland, X11)
109 Specify the margin (empty space) in pixels to leave between menu
110 and vertical view borders. bemenu will reduce it's size to fit in
111 space between gaps.
112
113 -W, --width-factor <factor> (Wayland, X11)
114 Specify the relative width factor as a floating point number. It
115 makes sense to set it between 0 and 1 to define how much of the
116 screen width bemenu will use. However, bemenu will still respect
117 margin, so if resulting size is greater than space between gaps,
118 bemenu will ignore factor and use available space instead.
119
120 --fn <name [size]> (Wayland, X11)
121 Specify the font family name and size to be used. For more options,
122 consult the Pango Reference Manual for pango_font_descrip‐
123 tion_from_string().
124
125 The following options control the colours for various parts of the list
126 for the Wayland and X11 backends. Each takes an argument in the form
127 of:
128
129 #RGB[A]
130
131 where R, G, B and A are hexadecimal integers from 00–FF that control
132 the red, green, blue and alpha-transparency channels.
133
134 --tb <color> Title background.
135
136 --tf <color> Title foreground.
137
138 --fb <color> Filter background.
139
140 --ff <color> Filter foreground
141
142 --cb <color> Cursor background.
143
144 --cf <color> Cursor foreground
145
146 --nb <color> Normal background.
147
148 --nf <color> Normal foreground.
149
150 --hb <color> Highlighted background.
151
152 --hf <color> Highlighted foreground.
153
154 --fbb <color> Feedback background.
155
156 --fbf <color> Feedback foreground.
157
158 --sb <color> Selected background.
159
160 --sf <color> Selected foreground.
161
162 --ab <color> Alternating background color.
163
164 --af <color> Alternating foreground color.
165
166 --scb <color> Scrollbar background.
167
168 --scf <color> Scrollbar foreground.
169
171 bemenu supports keyboard commands to move around the list and edit the
172 filter. In the following examples, C-x means <control-x>, M-x means
173 <alt-x> and S-x means <shift-x>:
174
175 <cursor-up>, S-<cursor-left>, C-p, M-j, M-l
176 Highlight the previous item.
177
178 <cursor-down>, <tab>, C-n, M-h, M-k
179 Highlight the next item.
180
181 PageUp, M-v, M-u
182 Show the previous page of items, preserving the offset of the cur‐
183 rently highlighted item, if possible.
184
185 PageDown, C-v, M-d
186 Show the next page of items, preserving the offset of the currently
187 highlighted item, if possible.
188
189 S-M-<, S-PageUp
190 Highlight the first item in the list.
191
192 S-M->, S-PageDown
193 Highlight the last item in the list.
194
195 S-<tab>
196 Copy the highlighted item to the filter.
197
198 <escape>, C-g
199 Terminate bemenu without printing items.
200
201 C-<carriage-return>, C-m
202 Print selected items and the currently highlighted one, and exit.
203 Items are printed in the order they were selected, with the cur‐
204 rently highlighted item printed last.
205
206 S-<carriage-return>, Insert
207 Print the filter text to standard output and exit.
208
209 C-l, <cursor-left>
210 Move cursor left.
211
212 C-f, <cursor-right>
213 Move cursor right.
214
215 C-a, Home
216 Move cursor to the start.
217
218 C-e, End
219 Move cursor to the end.
220
221 <backspace> C-h
222 Remove character before the cursor.
223
224 <delete>
225 Remove character at the cursor.
226
227 C-u, S-<delete>
228 Remove all characters before the cursor.
229
230 C-k
231 Remove all characters after the cursor.
232
233 C-w
234 Clear the filter.
235
236 C-y
237 Paste the clipboard.
238
239 M-[1-9]
240 Print selected items and exit with a custom error code 10 (M-1)
241
242
243
244 2023-01-04 bemenu(1)