rofi/doc/rofi-dmenu.5
Dave Davenport af976c3779 [XCB] Add a flag to enable work around for #611.
In issue #611 there is a workaround implemented for an issue within
xserver: https://bugs.freedesktop.org/show_bug.cgi?id=104323#c1,
https://gitlab.freedesktop.org/xorg/xserver/-/issues/300.
With a latest update in xkeyboard-config this workaround breaks rofi,
see #1642 and
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/341.

This commits disabled this work-around (can be re-enabled with
-xserver-i300-workaround flag).

Hopefully this restores correct rofi functionality.

issue: #611 #1642
2022-07-19 15:50:42 +02:00

315 lines
6.5 KiB
Groff

.TH ROFI\-DMENU 5 rofi\-dmenu
.SH NAME
.PP
\fBrofi dmenu mode\fP \- Rofi dmenu emulation
.SH DESCRIPTION
.PP
To integrate \fBrofi\fP into scripts as simple selection dialogs,
\fBrofi\fP supports emulating \fBdmenu(1)\fP (A dynamic menu for X11).
.PP
The website for \fB\fCdmenu\fR can be found here
\[la]http://tools.suckless.org/dmenu/\[ra]\&.
.PP
\fBrofi\fP does not aim to be 100% compatible with \fB\fCdmenu\fR\&. There are simply too many flavors of \fB\fCdmenu\fR\&.
The idea is that the basic usage command\-line flags are obeyed, theme\-related flags are not.
Besides, \fBrofi\fP offers some extended features (like multi\-select, highlighting, message bar, extra key bindings).
.SH BASIC CONCEPT
.PP
In \fB\fCdmenu\fR mode, \fBrofi\fP reads data from standard in, splits them into separate entries and displays them.
If the user selects an row, this is printed out to standard out, allow the script to process it further.
.PP
By default separation of rows is done on new lines, making it easy to pipe the output a one application into
\fBrofi\fP and the output of rofi into the next.
.SH USAGE
.PP
By launching \fBrofi\fP with the \fB\fC\-dmenu\fR flag it will go into dmenu emulation mode.
.PP
.RS
.nf
ls | rofi \-dmenu
.fi
.RE
.SS DMENU DROP\-IN REPLACEMENT
.PP
If \fB\fCargv[0]\fR (calling command) is dmenu, \fBrofi\fP will start in dmenu mode.
This way, it can be used as a drop\-in replacement for dmenu. Just copy or symlink \fBrofi\fP to dmenu in \fB\fC$PATH\fR\&.
.PP
.RS
.nf
ln \-s /usr/bin/rofi /usr/bin/dmenu
.fi
.RE
.SS DMENU VS SCRIPT MODE
.PP
Script mode is used to extend \fBrofi\fP, dmenu mode is used to extend a script.
The two do share much of the same input format. Please see the \fBrofi\-script(5)\fP manpage for more information.
.SS DMENU SPECIFIC COMMANDLINE FLAGS
.PP
A lot of these options can also be modified by the script using special input. See the \fBrofi\-script(5)\fP manpage
for more information about this syntax.
.PP
\fB\fC\-sep\fR \fIseparator\fP
.PP
Separator for \fB\fCdmenu\fR\&. Example: To show a list of 'a' to 'e' with '|' as a separator:
.PP
.RS
.nf
echo "a|b|c|d|e" | rofi \-sep '|' \-dmenu
.fi
.RE
.PP
\fB\fC\-p\fR \fIprompt\fP
.PP
Specify the prompt to show in \fB\fCdmenu\fR mode. For example, select 'monkey', a,b,c,d, or e.
.PP
.RS
.nf
echo "a|b|c|d|e" | rofi \-sep '|' \-dmenu \-p "monkey"
.fi
.RE
.PP
Default: \fIdmenu\fP
.PP
\fB\fC\-l\fR \fInumber of lines to show\fP
.PP
Maximum number of lines the menu may show before scrolling.
.PP
.RS
.nf
rofi \-dmenu \-l 25
.fi
.RE
.PP
Default: \fI15\fP
.PP
\fB\fC\-i\fR
.PP
Makes \fB\fCdmenu\fR searches case\-insensitive
.PP
\fB\fC\-a\fR \fIX\fP
.PP
Active row, mark \fIX\fP as active. Where \fIX\fP is a comma\-separated list of python(1)\-style indices and ranges, e.g. indices start at 0, \-1 refers to the last row with \-2 preceding it, ranges are left\-open and right\-close, and so on. You can specify:
.RS
.IP \(bu 2
A single row: '5'
.IP \(bu 2
A range of (last 3) rows: '\-3:'
.IP \(bu 2
4 rows starting from row 7: '7:11' (or in legacy notation: '7\-10')
.IP \(bu 2
A set of rows: '2,0,\-9'
.IP \(bu 2
Or any combination: '5,\-3:,7:11,2,0,\-9'
.RE
.PP
\fB\fC\-u\fR \fIX\fP
.PP
Urgent row, mark \fIX\fP as urgent. See \fB\fC\-a\fR option for details.
.PP
\fB\fC\-only\-match\fR
.PP
Only return a selected item, do not allow custom entry.
This mode always returns an entry. It will not return if no matching entry is
selected.
.PP
\fB\fC\-no\-custom\fR
.PP
Only return a selected item, do not allow custom entry.
This mode returns directly when no entries given.
.PP
\fB\fC\-format\fR \fIformat\fP
.PP
Allows the output of dmenu to be customized (N is the total number of input entries):
.RS
.IP \(bu 2
\&'s' selected string
.IP \(bu 2
\&'i' index (0 \-\& (N\-\&1))
.IP \(bu 2
\&'d' index (1 \-\& N)
.IP \(bu 2
\&'q' quote string
.IP \(bu 2
\&'p' Selected string stripped from Pango markup (Needs to be a valid string)
.IP \(bu 2
\&'f' filter string (user input)
.IP \(bu 2
\&'F' quoted filter string (user input)
.RE
.PP
Default: 's'
.PP
\fB\fC\-select\fR \fIstring\fP
.PP
Select first line that matches the given string
.PP
\fB\fC\-mesg\fR \fIstring\fP
.PP
Add a message line below the filter entry box. Supports Pango markup.
For more information on supported markup, see here
\[la]https://docs.gtk.org/Pango/pango_markup.html\[ra]
.PP
\fB\fC\-dump\fR
.PP
Dump the filtered list to stdout and quit.
This can be used to get the list as \fBrofi\fP would filter it.
Use together with \fB\fC\-filter\fR command.
.PP
\fB\fC\-input\fR \fIfile\fP
.PP
Reads from \fIfile\fP instead of stdin.
.PP
\fB\fC\-password\fR
.PP
Hide the input text. This should not be considered secure!
.PP
\fB\fC\-markup\-rows\fR
.PP
Tell \fBrofi\fP that DMenu input is Pango markup encoded, and should be rendered.
See here
\[la]https://developer.gnome.org/pygtk/stable/pango-markup-language.html\[ra] for details about Pango markup.
.PP
\fB\fC\-multi\-select\fR
.PP
Allow multiple lines to be selected. Adds a small selection indicator to the left of each entry.
.PP
\fB\fC\-sync\fR
.PP
Force \fBrofi\fP mode to first read all data from stdin before showing the selection window. This is original dmenu behavior.
.PP
Note: the default asynchronous mode will also be automatically disabled if used with conflicting options,
such as \fB\fC\-dump\fR, \fB\fC\-only\-match\fR or \fB\fC\-auto\-select\fR\&.
.PP
\fB\fC\-window\-title\fR \fItitle\fP
.PP
Set name used for the window title. Will be shown as Rofi \- \fItitle\fP
.PP
\fB\fC\-w\fR \fIwindowid\fP
.PP
Position \fBrofi\fP over the window with the given X11 window ID.
.PP
\fB\fC\-keep\-right\fR
.PP
Set ellipsize mode to start. So, the end of the string is visible.
.PP
\fB\fC\-display\-columns\fR
.PP
A comma seperated list of columns to show.
.PP
\fB\fC\-display\-column\-separator\fR
.PP
The column separator. This is a regex.
.PP
\fIdefault\fP: '\\t'
.SH RETURN VALUE
.RS
.IP \(bu 2
\fB0\fP: Row has been selected accepted by user.
.IP \(bu 2
\fB1\fP: User cancelled the selection.
.IP \(bu 2
\fB10\-28\fP: Row accepted by custom keybinding.
.RE
.SH SEE ALSO
.PP
rofi(1), rofi\-sensible\-terminal(1), dmenu(1), rofi\-theme(5), rofi\-script(5), rofi\-theme\-selector(1), ascii(7)
.SH AUTHOR
.PP
Qball Cow
\[la]qball@gmpclient.org\[ra]
.PP
Rasmus Steinke
\[la]rasi@xssn.at\[ra]
.PP
Morgane Glidic
\[la]sardemff7+rofi@sardemff7.net\[ra]
.PP
Original code based on work by: Sean Pringle
\[la]sean.pringle@gmail.com\[ra]
.PP
For a full list of authors, check the AUTHORS file.