mirror of
https://github.com/davatorium/rofi.git
synced 2024-11-25 13:55:34 -05:00
661 lines
13 KiB
Groff
661 lines
13 KiB
Groff
.TH ROFI 1 rofi
|
|
.SH NAME
|
|
.PP
|
|
rofi \- A window switcher, run dialog and dmenu replacement
|
|
.SH SYNOPSIS
|
|
.PP
|
|
\fBrofi\fP
|
|
[ \-width \fIpct_scr\fP ]
|
|
[ \-lines \fIlines\fP ]
|
|
[ \-columns \fIcolumns\fP ]
|
|
[ \-font \fIpangofont\fP ]
|
|
[ \-fg \fIcolor\fP ]
|
|
[ \-bg \fIcolor\fP ]
|
|
[ \-bgalt \fIcolor\fP ]
|
|
[ \-hlfg \fIcolor\fP ]
|
|
[ \-hlbg \fIcolor\fP ]
|
|
[ \-key \fIcombo\fP ]
|
|
[ \-dkey \fIcomdo\fP ]
|
|
[ \-rkey \fIcomdo\fP ]
|
|
[ \-terminal \fIterminal\fP ]
|
|
[ \-location \fIposition\fP ]
|
|
[ \-hmode ]
|
|
[ \-fixed\-num\-lines ]
|
|
[ \-padding \fIpadding\fP ]
|
|
[ \-opacity \fIopacity%\fP ]
|
|
[ \-display \fIdisplay\fP ]
|
|
[ \-bc \fIcolor\fP ]
|
|
[ \-bw \fIwidth\fP ]
|
|
[ \-dmenu [ \-p \fIprompt\fP ] [ \-sep \fIseparator\fP ] [ \-l \fIselected line\fP ] ]
|
|
[ \-ssh\-client \fIclient\fP ]
|
|
[ \-ssh\-command \fIcommand\fP ]
|
|
[ \-disable\-history ]
|
|
[ \-levenshtein\-sort ]
|
|
[ \-case\-sensitive ]
|
|
[ \-show \fImode\fP ]
|
|
[ \-switcher \fImode1,mode2\fP ]
|
|
[ \-eh \fIelement height\fP ]
|
|
[ \-lazy\-filter\-limit \fIlimit\fP ]
|
|
[ \-e \fImessage\fP]
|
|
[ \-now ]
|
|
[ \-rnow ]
|
|
[ \-snow ]
|
|
[ \-version ]
|
|
[ \-help]
|
|
[ \-dump\-xresources ]
|
|
.SH DESCRIPTION
|
|
.PP
|
|
\fBrofi\fP is an X11 popup window switcher, run dialog, dmenu replacement and more. It focusses on
|
|
being fast to use and have minimal distraction. It supports keyboard and mouse navigation, type to
|
|
filter, tokenized search and more.
|
|
.SH License
|
|
.PP
|
|
MIT/X11
|
|
.SH USAGE
|
|
.PP
|
|
\fBrofi\fP can be used in two ways, single\-shot; executes once and directly exits when done or as
|
|
daemon listening to specific key\-combinations.
|
|
.PP
|
|
The default key combinations are:
|
|
.RS
|
|
.IP \(bu 2
|
|
\fB\fCF12\fR
|
|
.RE
|
|
.PP
|
|
Show all windows on all desktops.
|
|
.RS
|
|
.IP \(bu 2
|
|
\fB\fCmod1\-F2\fR
|
|
.RE
|
|
.PP
|
|
Show run\-dialog.
|
|
.RS
|
|
.IP \(bu 2
|
|
\fB\fCmod1\-F3\fR
|
|
.RE
|
|
.PP
|
|
Show ssh\-dialog.
|
|
.SH OPTIONS
|
|
.PP
|
|
\fB\fC\-key\fR
|
|
.IP
|
|
Change the key combination to display all windows.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-key F12
|
|
rofi \-key control+shift+s
|
|
rofi \-key mod1+Tab
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fIF12\fP
|
|
.PP
|
|
\fB\fC\-rkey\fR
|
|
.IP
|
|
Change the key combination to display the run dialog.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-rkey F11
|
|
rofi \-rkey control+shift+d
|
|
rofi \-rkey mod1+grave (grave=backtick)
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fIAlt\-F2\fP
|
|
.PP
|
|
\fB\fC\-skey\fR
|
|
.IP
|
|
Change the key combination to display the ssh dialog.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-skey F10
|
|
rofi \-skey control+shift+s
|
|
rofi \-skey mod1+grave (grave=backtick)
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fIAlt\-F3\fP
|
|
.PP
|
|
\fB\fC\-now\fR
|
|
.IP
|
|
Run rofi in all\-windows mode once then exit. Does not bind any keys.
|
|
.PP
|
|
\fB\fC\-rnow\fR
|
|
.IP
|
|
Run rofi in run\-dialog mode once then exit. Does not bind any keys.
|
|
.PP
|
|
\fB\fC\-snow\fR
|
|
.IP
|
|
Run rofi in ssh mode once then exit. Does not bind any keys.
|
|
.PP
|
|
\fB\fC\-dmenu\fR
|
|
.IP
|
|
Run rofi in dmenu mode. Allowing it to be used for user interaction in scripts.
|
|
.IP
|
|
Pressing \fB\fCshift\-enter\fR will open the selected entries and move to the next entry.
|
|
.PP
|
|
\fB\fC\-show\fR \fImode\fP
|
|
.IP
|
|
Open rofi in a certain mode.
|
|
.IP
|
|
For example to show the run\-dialog:
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-show run
|
|
.fi
|
|
.RE
|
|
.IP
|
|
This function deprecates \-rnow,\-snow and \-now
|
|
.PP
|
|
\fB\fC\-switchers\fR \fImode1,mode1\fP
|
|
.IP
|
|
Give a comma separated list of modes to enable, in what order.
|
|
.IP
|
|
For example to only show the run and ssh dialog (in that order):
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-switchers "run,ssh" \-show run
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Custom modes can be added using the internal 'script' mode. Each mode has two parameters:
|
|
.PP
|
|
.RS
|
|
.nf
|
|
<name>:<script>
|
|
.fi
|
|
.RE
|
|
.IP
|
|
So to have a mode 'Workspaces' using the \fB\fCi3_switch_workspace.sh\fR script type:
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-switchers "window,run,ssh,Workspaces:i3_switch_workspaces.sh" \-show Workspaces
|
|
.fi
|
|
.RE
|
|
.PP
|
|
\fB\fC\-case\-sensitive\fR
|
|
.IP
|
|
Start in case sensitive mode.
|
|
.SS Theming
|
|
.PP
|
|
\fB\fC\-bg\fR
|
|
.IP
|
|
Set the background text color (X11 named color or hex #rrggbb) for the menu.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-bg "#222222"
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fI#f2f1f0\fP
|
|
.PP
|
|
\fB\fC\-bgalt\fR
|
|
.IP
|
|
Set the background text color for alternating rows (X11 named color or hex #rrggbb) for the menu.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-bgalt "#222222"
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fI#f2f1f0\fP
|
|
.PP
|
|
\fB\fC\-bc\fR
|
|
.IP
|
|
Set the border color (X11 named color or hex #rrggbb) for the menu.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-bc black
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fIblack\fP
|
|
.PP
|
|
\fB\fC\-bw\fR
|
|
.IP
|
|
Set the border width in pixels.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-bw 1
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fI1\fP
|
|
.PP
|
|
\fB\fC\-fg\fR
|
|
.IP
|
|
Set the foreground text color (X11 named color or hex #rrggbb) for the menu.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-fg "#cccccc"
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fI#222222\fP
|
|
.PP
|
|
\fB\fC\-hlbg\fR
|
|
.IP
|
|
Set the background text color (X11 named color or hex #rrggbb) for the highlighted item in the
|
|
menu.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-fg "#005577"
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fI#005577\fP
|
|
.PP
|
|
\fB\fC\-hlfg\fR
|
|
.IP
|
|
Set the foreground text color (X11 named color or hex #rrggbb) for the highlighted item in the
|
|
menu.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-fg "#ffffff"
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fI#FFFFFF\fP
|
|
.PP
|
|
\fB\fC\-font\fR
|
|
.IP
|
|
Pango font name for use by the menu.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-font monospace\\ 14
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fImono 12\fP
|
|
.PP
|
|
\fB\fC\-opacity\fR
|
|
.IP
|
|
Set the window opacity (0\-100).
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-opacity "75"
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fI100\fP
|
|
.PP
|
|
\fB\fC\-eh\fR \fIelement height\fP
|
|
.IP
|
|
The height of a field in lines. e.g.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
echo \-e "a\\n3|b\\n4|c\\n5" | rofi \-sep '|' \-eh 2 \-dmenu
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fI1\fP
|
|
.SS Layout
|
|
.PP
|
|
\fB\fC\-lines\fR
|
|
.IP
|
|
Maximum number of lines the menu may show before scrolling.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-lines 25
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fI15\fP
|
|
.PP
|
|
\fB\fC\-columns\fR
|
|
.IP
|
|
The number of columns the menu may show before scrolling.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-columns 2
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fI1\fP
|
|
.PP
|
|
\fB\fC\-width\fR [value]
|
|
.IP
|
|
Set the width of the menu as a percentage of the screen width.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-width 60
|
|
.fi
|
|
.RE
|
|
.IP
|
|
If value is larger then 100, the size is set in pixels. e.g. to span a full hd monitor:
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-width 1980
|
|
.fi
|
|
.RE
|
|
.IP
|
|
If the value is negative, it tries to estimates a character width. To show 30 characters on a row:
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-width \-30
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Character width is a rough estimation, and might not be correct, but should work for most monospaced fonts.
|
|
.IP
|
|
Default: \fI50\fP
|
|
.PP
|
|
\fB\fC\-location\fR
|
|
.IP
|
|
Specify where the window should be located. The numbers map to the following location on the
|
|
monitor:
|
|
.PP
|
|
.RS
|
|
.nf
|
|
1 2 3
|
|
8 0 4
|
|
7 6 5
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fI0\fP
|
|
.PP
|
|
\fB\fC\-hmode\fR
|
|
.IP
|
|
Switch to horizontal mode (ala dmenu). The number of elements is the number of \fB\fClines\fR times the
|
|
number of \fB\fCcolumns\fR\&.
|
|
.PP
|
|
\fB\fC\-fixed\-num\-lines\fR
|
|
.IP
|
|
Keep a fixed number of visible lines (See the \fB\fC\-lines\fR option.)
|
|
.PP
|
|
\fB\fC\-padding\fR
|
|
.IP
|
|
Define the inner margin of the window.
|
|
.IP
|
|
To make rofi look like dmenu:
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-hmode \-padding 0
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Default: \fI5\fP
|
|
.PP
|
|
\fB\fC\-sidebar\-mode\fR
|
|
.PP
|
|
.RS
|
|
.nf
|
|
Go into side\-bar mode, it will show list of modi at the bottom.
|
|
To show sidebar use:
|
|
rofi \-rnow \-sidebar\-mode \-lines 0
|
|
.fi
|
|
.RE
|
|
.PP
|
|
\fB\fC\-lazy\-filter\-limit\fR \fIlimit\fP
|
|
.PP
|
|
The number of entries required for Rofi to go into lazy filter mode.
|
|
In lazy filter mode, it won't refilter the list on each keypress, but only after rofi been idle
|
|
for 250ms. Experiments shows that the default (5000 lines) works well, set to 0 to always enable.
|
|
.PP
|
|
Default: \fI5000\fP
|
|
.SS PATTERN setting
|
|
.PP
|
|
\fB\fC\-terminal\fR
|
|
.IP
|
|
Specify what terminal to start.
|
|
.PP
|
|
.RS
|
|
.nf
|
|
rofi \-terminal xterm
|
|
.fi
|
|
.RE
|
|
.IP
|
|
Pattern: \fI{terminal}\fP
|
|
Default: \fIx\-terminal\-emulator\fP
|
|
.PP
|
|
\fB\fC\-ssh\-client\fR \fIclient\fP
|
|
.IP
|
|
Override the used ssh client.
|
|
.IP
|
|
Pattern: \fI{ssh\-client}\fP
|
|
Default: \fIssh\fP
|
|
.SS SSH settings
|
|
.PP
|
|
\fB\fC\-ssh\-command\fR \fIcmd\fP
|
|
.IP
|
|
Set the command to execute when starting a ssh session.
|
|
The pattern \fI{host}\fP is replaced by the selected ssh entry.
|
|
.IP
|
|
Default: \fI{terminal} \-e {ssh\-client} {host}\fP
|
|
.SS Run settings
|
|
.PP
|
|
\fB\fC\-run\-command\fR \fIcmd\fP
|
|
.IP
|
|
Set the command (\fI{cmd}\fP) to execute when running an application.
|
|
See \fIPATTERN\fP\&.
|
|
.IP
|
|
Default: \fI{cmd}\fP
|
|
.PP
|
|
\fB\fC\-run\-shell\-command\fR \fIcmd\fP
|
|
.IP
|
|
Set the command to execute when running an application in a shell.
|
|
See \fIPATTERN\fP\&.
|
|
.IP
|
|
Default: \fI{terminal} \-e {cmd}\fP
|
|
.PP
|
|
\fB\fC\-run\-list\-command\fR \fIcmd\fP
|
|
.IP
|
|
If set, use an external tool to generate list of executable commands. Uses 'run\-command'
|
|
.IP
|
|
Default: \fI""\fP
|
|
.SS History and Sorting
|
|
.PP
|
|
\fB\fC\-disable\-history\fR
|
|
.IP
|
|
Disable history
|
|
.PP
|
|
\fB\fC\-levenshtein\-sort\fR
|
|
.IP
|
|
When searching sort the result based on levenshtein distance.
|
|
.IP
|
|
Note that levenshtein sort is disabled in dmenu mode.
|
|
.SS Dmenu specific
|
|
.PP
|
|
\fB\fC\-sep\fR \fIseparator\fP
|
|
.PP
|
|
.RS
|
|
.nf
|
|
Separator for dmenu. For example to show list a to e with '|' as separator:
|
|
echo "a|b|c|d|e" | rofi \-sep '|' \-dmenu
|
|
.fi
|
|
.RE
|
|
.PP
|
|
\fB\fC\-p\fR \fIprompt\fP
|
|
.PP
|
|
.RS
|
|
.nf
|
|
Specify the prompt to show in dmenu mode. E.g. select monkey a,b,c,d or e.
|
|
echo "a|b|c|d|e" | rofi \-sep '|' \-dmenu \-p "monkey:"
|
|
Default: *dmenu*
|
|
.fi
|
|
.RE
|
|
.PP
|
|
\fB\fC\-l\fR \fIselected line\fP
|
|
.PP
|
|
.RS
|
|
.nf
|
|
Select a certain line.
|
|
Default: *0*
|
|
.fi
|
|
.RE
|
|
.SS Message dialog
|
|
.PP
|
|
\fB\fC\-e\fR \fImessage\fP
|
|
.PP
|
|
.RS
|
|
.nf
|
|
Popup a message dialog (used internally for showing errors) with *message*.
|
|
Message can be multi\-line.
|
|
.fi
|
|
.RE
|
|
.SS Debug
|
|
.PP
|
|
\fB\fC\-dump\-xresources\fR
|
|
.IP
|
|
Dump the current active configuration in xresources format to the command\-line.
|
|
.SH PATTERN
|
|
.PP
|
|
To launch commands (e.g. when using the ssh dialog) the user can enter the used commandline,
|
|
the following keys can be used that will be replaced at runtime:
|
|
.RS
|
|
.IP \(bu 2
|
|
\fB\fC{host}\fR: The host to connect to.
|
|
.IP \(bu 2
|
|
\fB\fC{terminal}\fR: The configured terminal (See \-terminal\-emulator)
|
|
.IP \(bu 2
|
|
\fB\fC{ssh\-client}\fR: The configured ssh client (See \-ssh\-client)
|
|
.IP \(bu 2
|
|
\fB\fC{cmd}\fR: The command to execute.
|
|
.RE
|
|
.SH Dmenu replacemnt
|
|
.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/dmenu /usr/bin/rofi
|
|
.fi
|
|
.RE
|
|
.SH Signals
|
|
.PP
|
|
\fB\fCHUP\fR
|
|
.PP
|
|
.RS
|
|
.nf
|
|
If in daemon mode, reload the configuration from Xresources. (commandline arguments still
|
|
.fi
|
|
.RE
|
|
.PP
|
|
override xresources).
|
|
.SH Colors
|
|
.PP
|
|
Rofi has an experimental mode for a 'nicer' transparency. The idea is that you can make the
|
|
background of the window transparent but the text not. This way, in contract to the \fB\fC\-opacity\fR
|
|
option, the text is still fully visible and readable.
|
|
To use this there are 2 requirements: 1. Your Xserver supports TrueColor, 2. You are running a
|
|
composite manager. If this is satisfied you can use the following format for colors:
|
|
.PP
|
|
argb:FF444444
|
|
.PP
|
|
The first two fields specify the alpha level. This determines how much the background shines through
|
|
the color (00 everything, FF nothing). E.g. 'argb:00FF0000' gives you a bright red color with the
|
|
background shining through. If you want a dark greenish transparent color use: 'argb:dd2c3311'. This
|
|
can be done for any color; it is therefor possible to have solid borders, the selected row solid,
|
|
and the others slightly transparent.
|
|
.SH Keybindings
|
|
.PP
|
|
Rofi supports the following keybindings:
|
|
.RS
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-v, Insert\fR: Paste clipboard
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-Shift\-v, Shift\-Insert\fR: Paste primary selection
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-u\fR: Clear the line
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-a\fR: Beginning of line
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-e\fR: End of line
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-f, Right\fR: Forward one character
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-b, Left\fR: Back one character
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-d, Delete\fR: Delete character
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-h, Backspace\fR: Backspace (delete previous character)
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-j,Ctrl\-m,Enter\fR: Accept entry
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-n,Down\fR: Select next entry
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-p,Up\fR: Select previous entry
|
|
.IP \(bu 2
|
|
\fB\fCPage Up\fR: Go to the previous page
|
|
.IP \(bu 2
|
|
\fB\fCPage Down\fR: Go to the next page
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-Page Up\fR: Go to the previous column
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-Page Down\fR: Go to the next column
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-Enter\fR: Use entered text as command (in ssh/run dialog)
|
|
.IP \(bu 2
|
|
\fB\fCShift\-Enter\fR: Launch the application in a terminal (in run dialog)
|
|
.IP \(bu 2
|
|
\fB\fCShift\-Enter\fR: Return the selected entry and move to the next item while keeping Rofi open. (in dmenu)
|
|
.IP \(bu 2
|
|
\fB\fC?\fR: Switch to the next modi. The list can be customized with the \fB\fC\-switchers\fR argument.
|
|
.IP \(bu 2
|
|
\fB\fCctrl\-/\fR: Switch to the previous modi. The list can be customized with the \fB\fC\-switchers\fR argument.
|
|
.IP \(bu 2
|
|
\fB\fCCtrl\-space\fR: Set selected item as input text.
|
|
.IP \(bu 2
|
|
\fB\fCShift\-Del\fR: Delete entry from history.
|
|
.IP \(bu 2
|
|
\fB\fCgrave\fR: Toggle case sensitivity.
|
|
.RE
|
|
.SH FAQ
|
|
.PP
|
|
\fB\fCText in window switcher is not nicely lined out\fR
|
|
.PP
|
|
.RS
|
|
.nf
|
|
Try using a mono\-space font.
|
|
.fi
|
|
.RE
|
|
.PP
|
|
\fB\fCRofi is completely black.\fR
|
|
.PP
|
|
.RS
|
|
.nf
|
|
Check quotes used on the commandline: e.g. used “ instead of ".
|
|
.fi
|
|
.RE
|
|
.SH WEBSITE
|
|
.PP
|
|
\fBrofi\fP website can be found at here
|
|
.UR https://davedavenport.github.io/rofi/
|
|
.UE
|
|
.PP
|
|
\fBrofi\fP bugtracker can be found here
|
|
.UR https://github.com/DaveDavenport/rofi/issues
|
|
.UE
|
|
.SH AUTHOR
|
|
.PP
|
|
Qball Cow
|
|
.MT qball@gmpclient.org
|
|
.ME
|
|
.PP
|
|
Original code based on work by: Sean Pringle
|
|
.MT sean.pringle@gmail.com
|
|
.ME
|