From fbfb9b0247d02ea240eb2b0436135b5d33504766 Mon Sep 17 00:00:00 2001 From: Dave Davenport Date: Fri, 17 Dec 2021 11:13:29 +0100 Subject: [PATCH] [DOC] Add rofi-dmenu(5) manpage. --- Makefile.am | 6 +- doc/meson.build | 1 + doc/rofi-dmenu.5 | 310 ++++++++++++++++++++++++++++++++++++++ doc/rofi-dmenu.5.markdown | 203 +++++++++++++++++++++++++ doc/rofi.1 | 234 +--------------------------- doc/rofi.1.markdown | 138 +---------------- meson.build | 1 + 7 files changed, 522 insertions(+), 371 deletions(-) create mode 100644 doc/rofi-dmenu.5 create mode 100644 doc/rofi-dmenu.5.markdown diff --git a/Makefile.am b/Makefile.am index 19a054a8..13e1a902 100644 --- a/Makefile.am +++ b/Makefile.am @@ -178,11 +178,14 @@ dist_man1_MANS=\ dist_man5_MANS=\ doc/rofi-theme.5\ doc/rofi-keys.5\ + doc/rofi-dmenu.5\ doc/rofi-script.5 EXTRA_DIST += \ doc/rofi-theme.5.markdown \ doc/rofi-script.5.markdown \ + doc/rofi-keys.5.markdown \ + doc/rofi-dmenu.5.markdown \ doc/rofi-theme-selector.1.markdown \ doc/rofi-sensible-terminal.1.markdown \ doc/rofi.1.markdown\ @@ -246,12 +249,13 @@ EXTRA_DIST+=\ # Indent ## -update-manpage: $(top_srcdir)/doc/rofi-theme-selector.1.markdown $(top_srcdir)/doc/rofi.1.markdown $(top_srcdir)/doc/rofi-theme.5.markdown $(top_srcdir)/doc/rofi-script.5.markdown ${top_srcdir}/doc/rofi-sensible-terminal.1.markdown +update-manpage: $(top_srcdir)/doc/rofi-theme-selector.1.markdown $(top_srcdir)/doc/rofi.1.markdown $(top_srcdir)/doc/rofi-theme.5.markdown $(top_srcdir)/doc/rofi-script.5.markdown ${top_srcdir}/doc/rofi-sensible-terminal.1.markdown ${top_srcdir}/doc/rofi-keys.5.markdown ${top_srcdir}/doc/rofi-dmenu.5.markdown go-md2man -in $(top_srcdir)/doc/rofi.1.markdown -out $(top_srcdir)/doc/rofi.1 go-md2man -in $(top_srcdir)/doc/rofi-theme-selector.1.markdown -out $(top_srcdir)/doc/rofi-theme-selector.1 go-md2man -in $(top_srcdir)/doc/rofi-theme.5.markdown -out $(top_srcdir)/doc/rofi-theme.5 go-md2man -in $(top_srcdir)/doc/rofi-keys.5.markdown -out $(top_srcdir)/doc/rofi-keys.5 go-md2man -in $(top_srcdir)/doc/rofi-script.5.markdown -out $(top_srcdir)/doc/rofi-script.5 + go-md2man -in $(top_srcdir)/doc/rofi-dmenu.5.markdown -out $(top_srcdir)/doc/rofi-dmenu.5 go-md2man -in $(top_srcdir)/doc/rofi-sensible-terminal.1.markdown -out $(top_srcdir)/doc/rofi-sensible-terminal.1 ## diff --git a/doc/meson.build b/doc/meson.build index c4fd8dc9..97b1fd66 100644 --- a/doc/meson.build +++ b/doc/meson.build @@ -5,6 +5,7 @@ if gomd2man.found() 'rofi.1.markdown', 'rofi-theme-selector.1.markdown', 'rofi-theme.5.markdown', + 'rofi-dmenu.5.markdown', 'rofi-keys.5.markdown', 'rofi-script.5.markdown', 'rofi-sensible-terminal.1.markdown' diff --git a/doc/rofi-dmenu.5 b/doc/rofi-dmenu.5 new file mode 100644 index 00000000..297dc3f0 --- /dev/null +++ b/doc/rofi-dmenu.5 @@ -0,0 +1,310 @@ +.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\-async\-pre\-read\fR \fInumber\fP + +.PP +Reads the first \fInumber\fP entries blocking, then switches to async mode. +This makes it feel more 'snappy'. + +.PP +\fIdefault\fP: 25 + +.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. + +.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) + +.SH AUTHOR +.PP +Qball Cow +\[la]qball@gmpclient.org\[ra] + +.PP +Rasmus Steinke +\[la]rasi@xssn.at\[ra] + +.PP +Quentin 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. diff --git a/doc/rofi-dmenu.5.markdown b/doc/rofi-dmenu.5.markdown new file mode 100644 index 00000000..73ff2235 --- /dev/null +++ b/doc/rofi-dmenu.5.markdown @@ -0,0 +1,203 @@ +# ROFI-DMENU 5 rofi-dmenu + +## NAME + +**rofi dmenu mode** - Rofi dmenu emulation + + +## DESCRIPTION + +To integrate **rofi** into scripts as simple selection dialogs, +**rofi** supports emulating **dmenu(1)** (A dynamic menu for X11). + +The website for `dmenu` can be found [here](http://tools.suckless.org/dmenu/). + +**rofi** does not aim to be 100% compatible with `dmenu`. There are simply too many flavors of `dmenu`. +The idea is that the basic usage command-line flags are obeyed, theme-related flags are not. +Besides, **rofi** offers some extended features (like multi-select, highlighting, message bar, extra key bindings). + + +## BASIC CONCEPT + +In `dmenu` mode, **rofi** 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. + +By default separation of rows is done on new lines, making it easy to pipe the output a one application into +**rofi** and the output of rofi into the next. + +## USAGE + +By launching **rofi** with the `-dmenu` flag it will go into dmenu emulation mode. + +```bash +ls | rofi -dmenu +``` + + +### DMENU DROP-IN REPLACEMENT + +If `argv[0]` (calling command) is dmenu, **rofi** will start in dmenu mode. +This way, it can be used as a drop-in replacement for dmenu. Just copy or symlink **rofi** to dmenu in `$PATH`. + + ln -s /usr/bin/rofi /usr/bin/dmenu + + +### DMENU VS SCRIPT MODE + +Script mode is used to extend **rofi**, dmenu mode is used to extend a script. +The two do share much of the same input format. Please see the **rofi-script(5)** manpage for more information. + + +### DMENU SPECIFIC COMMANDLINE FLAGS + +A lot of these options can also be modified by the script using special input. See the **rofi-script(5)** manpage +for more information about this syntax. + +`-sep` *separator* + +Separator for `dmenu`. Example: To show a list of 'a' to 'e' with '|' as a separator: + + echo "a|b|c|d|e" | rofi -sep '|' -dmenu + +`-p` *prompt* + +Specify the prompt to show in `dmenu` mode. For example, select 'monkey', a,b,c,d, or e. + + echo "a|b|c|d|e" | rofi -sep '|' -dmenu -p "monkey" + +Default: *dmenu* + +`-l` *number of lines to show* + +Maximum number of lines the menu may show before scrolling. + + rofi -dmenu -l 25 + +Default: *15* + +`-i` + +Makes `dmenu` searches case-insensitive + +`-a` *X* + +Active row, mark *X* as active. Where *X* 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: + + * A single row: '5' + * A range of (last 3) rows: '-3:' + * 4 rows starting from row 7: '7:11' (or in legacy notation: '7-10') + * A set of rows: '2,0,-9' + * Or any combination: '5,-3:,7:11,2,0,-9' + +`-u` *X* + +Urgent row, mark *X* as urgent. See `-a` option for details. + +`-only-match` + +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. + +`-no-custom` + +Only return a selected item, do not allow custom entry. +This mode returns directly when no entries given. + +`-format` *format* + +Allows the output of dmenu to be customized (N is the total number of input entries): + + * 's' selected string + * 'i' index (0 - (N-1)) + * 'd' index (1 - N) + * 'q' quote string + * 'p' Selected string stripped from Pango markup (Needs to be a valid string) + * 'f' filter string (user input) + * 'F' quoted filter string (user input) + +Default: 's' + +`-select` *string* + +Select first line that matches the given string + +`-mesg` *string* + +Add a message line below the filter entry box. Supports Pango markup. +For more information on supported markup, see [here](https://docs.gtk.org/Pango/pango_markup.html) + +`-dump` + +Dump the filtered list to stdout and quit. +This can be used to get the list as **rofi** would filter it. +Use together with `-filter` command. + +`-input` *file* + +Reads from *file* instead of stdin. + +`-password` + +Hide the input text. This should not be considered secure! + +`-markup-rows` + +Tell **rofi** that DMenu input is Pango markup encoded, and should be rendered. +See [here](https://developer.gnome.org/pygtk/stable/pango-markup-language.html) for details about Pango markup. + + +`-multi-select` + +Allow multiple lines to be selected. Adds a small selection indicator to the left of each entry. + +`-sync` + +Force **rofi** mode to first read all data from stdin before showing the selection window. This is original dmenu behavior. + +Note: the default asynchronous mode will also be automatically disabled if used with conflicting options, +such as `-dump`, `-only-match` or `-auto-select`. + +`-async-pre-read` *number* + +Reads the first *number* entries blocking, then switches to async mode. +This makes it feel more 'snappy'. + +*default*: 25 + +`-window-title` *title* + +Set name used for the window title. Will be shown as Rofi - *title* + +`-w` *windowid* + +Position **rofi** over the window with the given X11 window ID. + +`-keep-right` + +Set ellipsize mode to start. So, the end of the string is visible. + + +## RETURN VALUE + + * **0**: Row has been selected accepted by user. + * **1**: User cancelled the selection. + * **10-28**: Row accepted by custom keybinding. + + +## SEE ALSO + +rofi(1), rofi-sensible-terminal(1), dmenu(1), rofi-theme(5), rofi-script(5), rofi-theme-selector(1) + +## AUTHOR + +Qball Cow + +Rasmus Steinke + +Quentin Glidic + + +Original code based on work by: Sean Pringle + +For a full list of authors, check the AUTHORS file. diff --git a/doc/rofi.1 b/doc/rofi.1 index 36fe45d4..9e8e4685 100644 --- a/doc/rofi.1 +++ b/doc/rofi.1 @@ -41,13 +41,7 @@ rofi \-show run \fBrofi\fP can emulate \fBdmenu(1)\fP (a dynamic menu for X11) when launched with the \fB\fC\-dmenu\fR flag. .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). +For more information see \fBrofi\-dmenu(5)\fP\&. .SS Display Error message .PP @@ -962,218 +956,6 @@ fzf sorting. .PP Maximum number of entries to store in history. Defaults to 25. (WARNING: can cause slowdowns when set too high) -.SS Dmenu specific -.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\-async\-pre\-read\fR \fInumber\fP - -.PP -Reads the first \fInumber\fP entries blocking, then switches to async mode. -This makes it feel more 'snappy'. - -.PP -\fIdefault\fP: 25 - -.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. - .SS Message dialog .PP \fB\fC\-e\fR \fImessage\fP @@ -1285,20 +1067,6 @@ To launch commands (for example, when using the ssh launcher), the user can ente .RE -.SH DMENU 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 - .SH THEMING .PP Please see \fBrofi\-theme(5)\fP manpage for more information on theming. diff --git a/doc/rofi.1.markdown b/doc/rofi.1.markdown index 9cc94775..0f85b7ae 100644 --- a/doc/rofi.1.markdown +++ b/doc/rofi.1.markdown @@ -36,11 +36,7 @@ To show the `run` dialog: **rofi** can emulate **dmenu(1)** (a dynamic menu for X11) when launched with the `-dmenu` flag. -The website for `dmenu` can be found [here](http://tools.suckless.org/dmenu/). - -**rofi** does not aim to be 100% compatible with `dmenu`. There are simply too many flavors of `dmenu`. -The idea is that the basic usage command-line flags are obeyed, theme-related flags are not. -Besides, **rofi** offers some extended features (like multi-select, highlighting, message bar, extra key bindings). +For more information see **rofi-dmenu(5)**. ### Display Error message @@ -572,132 +568,6 @@ There are 2 sorting methods: Maximum number of entries to store in history. Defaults to 25. (WARNING: can cause slowdowns when set too high) -### Dmenu specific - -`-sep` *separator* - -Separator for `dmenu`. Example: To show a list of 'a' to 'e' with '|' as a separator: - - echo "a|b|c|d|e" | rofi -sep '|' -dmenu - -`-p` *prompt* - -Specify the prompt to show in `dmenu` mode. For example, select 'monkey', a,b,c,d, or e. - - echo "a|b|c|d|e" | rofi -sep '|' -dmenu -p "monkey" - -Default: *dmenu* - -`-l` *number of lines to show* - -Maximum number of lines the menu may show before scrolling. - - rofi -dmenu -l 25 - -Default: *15* - -`-i` - -Makes `dmenu` searches case-insensitive - -`-a` *X* - -Active row, mark *X* as active. Where *X* 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: - - * A single row: '5' - * A range of (last 3) rows: '-3:' - * 4 rows starting from row 7: '7:11' (or in legacy notation: '7-10') - * A set of rows: '2,0,-9' - * Or any combination: '5,-3:,7:11,2,0,-9' - -`-u` *X* - -Urgent row, mark *X* as urgent. See `-a` option for details. - -`-only-match` - -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. - -`-no-custom` - -Only return a selected item, do not allow custom entry. -This mode returns directly when no entries given. - -`-format` *format* - -Allows the output of dmenu to be customized (N is the total number of input entries): - - * 's' selected string - * 'i' index (0 - (N-1)) - * 'd' index (1 - N) - * 'q' quote string - * 'p' Selected string stripped from Pango markup (Needs to be a valid string) - * 'f' filter string (user input) - * 'F' quoted filter string (user input) - -Default: 's' - -`-select` *string* - -Select first line that matches the given string - -`-mesg` *string* - -Add a message line below the filter entry box. Supports Pango markup. -For more information on supported markup, see [here](https://docs.gtk.org/Pango/pango_markup.html) - -`-dump` - -Dump the filtered list to stdout and quit. -This can be used to get the list as **rofi** would filter it. -Use together with `-filter` command. - -`-input` *file* - -Reads from *file* instead of stdin. - -`-password` - -Hide the input text. This should not be considered secure! - -`-markup-rows` - -Tell **rofi** that DMenu input is Pango markup encoded, and should be rendered. -See [here](https://developer.gnome.org/pygtk/stable/pango-markup-language.html) for details about Pango markup. - - -`-multi-select` - -Allow multiple lines to be selected. Adds a small selection indicator to the left of each entry. - -`-sync` - -Force **rofi** mode to first read all data from stdin before showing the selection window. This is original dmenu behavior. - -Note: the default asynchronous mode will also be automatically disabled if used with conflicting options, -such as `-dump`, `-only-match` or `-auto-select`. - -`-async-pre-read` *number* - -Reads the first *number* entries blocking, then switches to async mode. -This makes it feel more 'snappy'. - -*default*: 25 - -`-window-title` *title* - -Set name used for the window title. Will be shown as Rofi - *title* - -`-w` *windowid* - -Position **rofi** over the window with the given X11 window ID. - -`-keep-right` - -Set ellipsize mode to start. So, the end of the string is visible. - ### Message dialog @@ -779,12 +649,6 @@ To launch commands (for example, when using the ssh launcher), the user can ente * `{cmd}`: the command to execute * `{window}`: the window ID of the selected window (in `window-command`) -## DMENU REPLACEMENT - -If `argv[0]` (calling command) is dmenu, **rofi** will start in dmenu mode. -This way, it can be used as a drop-in replacement for dmenu. Just copy or symlink **rofi** to dmenu in `$PATH`. - - ln -s /usr/bin/rofi /usr/bin/dmenu ## THEMING diff --git a/meson.build b/meson.build index 77cc74b0..9ceb6ab7 100644 --- a/meson.build +++ b/meson.build @@ -232,6 +232,7 @@ install_man( 'doc/rofi-sensible-terminal.1', 'doc/rofi-script.5', 'doc/rofi-theme.5', + 'doc/rofi-dmenu.5', 'doc/rofi-keys.5', )