9.2 KiB
ROFI 1 rofi
NAME
rofi - A window switcher, run dialog and dmenu replacement
SYNOPSIS
rofi [ -width pct_scr ] [ -lines lines ] [ -columns columns ] [ -font pangofont ] [ -fg color ] [ -bg color ] [ -hlfg color ] [ -hlbg color ] [ -key combo ] [ -dkey comdo ] [ -rkey comdo ] [ -terminal terminal ] [ -location position ] [ -hmode ] [ -fixed-num-lines ] [ -padding padding ] [ -opacity opacity% ] [ -display display ] [ -bc color ] [ -bw width ] [ -dmenu [ -p prompt ] ] [ -ssh-client client ] [ -ssh-command command ] [ -now ] [ -rnow ] [ -snow ] [ -version ] [ -help] [ -dump-xresources ] [ -disable-history ] [ -levenshtein-sort ] [ -show mode ] [ -switcher mode1,mode2 ] [ -e message] [ -sep separator ] [ -eh element height ] [ -l selected line ]
DESCRIPTION
rofi is an X11 popup window switcher. A list is displayed center-screen showing open window titles, WM_CLASS, and desktop number. The user may filter the list by typing, navigate with Up/Down or Tab keys, and select a window with Return (Enter). Escape cancels.
License
MIT/X11
USAGE
rofi can be used in two ways, single-shot; executes once and directly exits when done or as daemon listening to specific key-combinations.
The default key combinations are:
-
F12
Show all windows on all desktops.
-
mod1-F2
Show run-dialog.
-
mod1-F3
Show run-dialog.
OPTIONS
-key
Change the key combination to display all windows (default: F12).
rofi -key F12
rofi -key control+shift+s
rofi -key mod1+Tab
-rkey
Change the key combination to display the run dialog (default: mod1-F2).
rofi -rkey F11
rofi -rkey control+shift+d
rofi -rkey mod1+grave (grave=backtick)
-skey
Change the key combination to display the ssh dialog (default: Alt-F3).
rofi -skey F10
rofi -skey control+shift+s
rofi -skey mod1+grave (grave=backtick)
-now
Run rofi in all-windows mode once then exit. Does not bind any keys.
-rnow
Run rofi in run-dialog mode once then exit. Does not bind any keys.
-snow
Run rofi in ssh mode once then exit. Does not bind any keys.
-dmenu
Run rofi in dmenu mode. Allowing it to be used for user interaction in scripts.
Pressing shift-enter
will open the selected entries and move to the next entry.
-show
mode
Open rofi in a certain mode.
For example to show the run-dialog:
rofi -show run
This function deprecates -rnow,-snow and -now
-switchers
mode1,mode1
Give a comma separated list of modes to enable, in what order.
For example to only show the run and ssh dialog (in that order):
rofi -switchers "run,ssh" -show run
Custom modes can be added using the internal 'script' mode. Each mode has two parameters:
<name>:<script>
So to have a mode 'Workspaces' using the i3_switch_workspace.sh
script type:
rofi -switchers "window,run,ssh,Workspaces:i3_switch_workspaces.sh" -show Workspaces
Theming
-bg
Set the background text color (X11 named color or hex #rrggbb) for the menu (default: #222222).
rofi -fg "#222222"
-bc
Set the border color (X11 named color or hex #rrggbb) for the menu (default: #000000).
rofi -bc black
-bw
Set the border width in pixels (default: 1).
rofi -bw 1
-fg
Set the foreground text color (X11 named color or hex #rrggbb) for the menu (default: #cccccc).
rofi -fg "#cccccc"
-font
Pango font name for use by the menu (default: mono 14).
rofi -font monospace\ 14
-hlbg
Set the background text color (X11 named color or hex #rrggbb) for the highlighted item in the menu (default: #005577).
rofi -fg "#005577"
-hlfg
Set the foreground text color (X11 named color or hex #rrggbb) for the highlighted item in the menu (default: #ffffff).
rofi -fg "#ffffff"
-opacity
Set the window opacity (0-100).
rofi -opacity "75"
Layout
-lines
Maximum number of lines the menu may show before scrolling (default: 25).
rofi -lines 25
-columns
The number of columns the menu may show before scrolling (default: 25).
rofi -columns 2
-width
[value]
Set the width of the menu as a percentage of the screen width (default: 60).
rofi -width 60
If value is larger then 100, the size is set in pixels. e.g. to span a full hd monitor:
rofi -width 1980
If the value is negative, it tries to estimates a character width. To show 30 characters on a row:
rofi -width -30
Character width is a rough estimation, and might not be correct, but should work for most monospaced fonts.
-location
Specify where the window should be located. The numbers map to the following location on the monitor:
1 2 3
8 0 4
7 6 5
-hmode
Switch to horizontal mode (ala dmenu). The number of elements is the number of lines
times the
number of columns
.
-fixed-num-lines
Keep a fixed number of visible lines (See the -lines
option.)
-padding
Define the inner margin of the window. Default is 5 pixels.
To make rofi look like dmenu:
rofi -hmode -padding 0
-sidebar-mode
Go into side-bar mode, it will show list of modi at the bottom.
To show sidebar use:
rofi -rnow -sidebar-mode -lines 0
Pattern setting
-terminal
Specify what terminal to start (default x-terminal-emulator)
rofi -terminal xterm
-ssh-client
client
Override the used ssh client. Default is ssh
.
SSH settings
-ssh-set-title
true|false
SSH dialogs tries to set 'ssh hostname' of the spawned terminal. Not all terminals support this. Default value is true.
This command has been deprecated for the ssh-command string
-ssh-command
cmd
Set the command to execute when starting a ssh session.
Run settings
-run-command
cmd
Set the command to execute when running an application. See PATTERN.
-run-shell-command
cmd
Set the command to execute when running an application in a shell. See PATTERN.
History and Sorting
-disable-history
Disable history
-levenshtein-sort
When searching sort the result based on levenshtein distance.
Note that levenshtein sort is disabled in dmenu mode.
Dmenu specific
-sep
separator
Separator for dmenu. For example to show list a to e with '|' as separator:
echo "a|b|c|d|e" | rofi -sep '|' -dmenu
-p
prompt
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:"
-eh
element height
The height of a field in lines. e.g.
echo -e "a\n3|b\n4|c\n5" | rofi -sep '|' -eh 2 -dmenu
-l
selected line
Select a certain line.
Message dialog
-e
message
Popup a message dialog (used internally for showing errors) with *message*.
Message can be multi-line.
Debug
-dump-xresources
Dump the current active configuration in xresources format to the command-line.
Pattern
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:
{host}
: The host to connect to.{terminal}
: The configured terminal (See -terminal-emulator){ssh-client}
: The configured ssh client (See -ssh-client){cmd}
: The command to execute.
Dmenu replacemnt
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/dmenu /usr/bin/rofi
Signals
HUP
If in daemon mode, reload the configuration from Xresources. (arguments still override).
Keybindings
Rofi supports the following keybindings:
Ctrl-v, Insert
: Paste clipboardCtrl-Shift-v, Shift-Insert
: Paste primary selectionCtrl-u
: Clear the lineCtrl-a
: Beginning of lineCtrl-e
: End of lineCtrl-f, Right
: Forward one characterCtrl-b, Left
: Back one characterCtrl-d, Delete
: Delete characterCtrl-h, Backspace
: Backspace (delete previous character)Ctrl-j,Ctrl-m,Enter
: Accept entryCtrl-n,Down
: Select next entryCtrl-p,Up
: Select previous entryPage Up
: Go to the previous pagePage Down
: Go to the next pageCtrl-Page Up
: Go to the previous columnCtrl-Page Down
: Go to the next columnCtrl-Enter
: Use entered text as command (in ssh/run dialog)?
: Switch to the next modi. The list can be customized with the-switchers
argument.ctrl-/
: Switch to the previous modi. The list can be customized with the-switchers
argument.Ctrl-space
: Set selected item as input text.Shift-Del
: Delete entry from history.
FAQ
Text in window switcher is not nicely lined out
Try using a mono-space font.
Rofi is completely black.
Check quotes used on the commandline: e.g. used “ instead of ".
WEBSITE
rofi website can be found at here
rofi bugtracker can be found here
AUTHOR
Qball Cow qball@gmpclient.org
Original code based on work by: Sean Pringle sean.pringle@gmail.com