A popup window switcher roughly based on superswitcher, requiring only xlib and pango. This version started off as a clone of simpleswitcher, the version from Sean Pringle. All credit for this great tool should go to him. Rofi developed extra features, like a run-dialog, ssh-launcher and can act as a drop-in dmenu replacement, making it a very versatile tool.
Using Rofi is a lot like dmenu, but extended for an improved work flow. It main features are:
The 4 Main functions of rofi are:
The window switcher shows the following informations in columns:
If compiled with I3 support, it should autodetect if I3 window manager is running and switch into I3 compatibility mode. This will disable Desktop numbers and hide the i3-bar, also it sends an IPC message to I3 to change focus.
The run dialog allows the user to quickly search and launch a program. It offers the following features:
There is also the drun mode, this behaves similar to run modi except it builds the list of applications based on desktop files found in the system.
Quickly ssh into remote machines
Drop in dmenu replacement. (Screenshot shows rofi used by teiler ).
rofi features several improvements over dmenu to improve usability. There is the option to add
an extra message bar (-mesg
), pre-entering of text (-filter
) or selecting entries based on a
pattern (-select
). Also highlighting (-u
and -a
) options and modi to force user to select one
provided option (-only-match
).
If used with -show [mode]
, rofi will immediately open in the specified [mode]
If used with -dmenu
, rofi will use data from STDIN to let the user select an option.
Show a run dialog with some font / color options:
rofi -show run -font "snap 10" -fg "#505050" -bg "#000000" -hlfg "#ffb964" -hlbg "#000000" -o 85
Show a ssh dialog:
rofi -show ssh
If passed the -dmenu
option, or ran as dmenu
(ie, /usr/bin/dmenu is symlinked to /usr/bin/rofi),
rofi will use the data passed from STDIN.
~/scripts/my_script.sh | rofi -dmenu
echo -e "Option #1\nOption #2\nOption #3" | rofi -dmenu
In both cases, rofi will output the user’s selection to STDOUT.
Type Shift-Right
to switch from Window list mode to Run mode and back.
Key | Action |
---|---|
Ctrl-v, Insert |
Paste clipboard |
Ctrl-Shift-v, Shift-Insert |
Paste primary selection |
Ctrl-u |
Clear the line |
Ctrl-a |
Beginning of line |
Ctrl-e |
End of line |
Ctrl-f, Right |
Forward one character |
Alt-f |
Forward one word |
Ctrl-b, Left |
Back one character |
Alt-b |
Back one word |
Ctrl-d, Delete |
Delete character |
Ctrl-Alt-d |
Delete word |
Ctrl-h, Backspace |
Backspace (delete previous character) |
Ctrl-Alt-h |
Delete previous word |
Ctrl-j,Ctrl-m,Enter |
Accept entry |
Ctrl-n,Down |
Select next entry |
Ctrl-p,Up |
Select previous entry |
Page Up |
Go to the previous page |
Page Down |
Go to the next page |
Ctrl-Page Up |
Go to the previous column |
Ctrl-Page Down |
Go to the next column |
Ctrl-Enter |
Use entered text as command (in ssh/run modi) |
Shift-Enter |
Launch the application in a terminal (in run mode) |
Shift-Enter |
Return the selected entry and move to the next item while keeping Rofi open. (in dmenu) |
Shift-Right |
Switch to the next modi. The list can be customized with the -switchers argument. |
Shift-Left |
Switch to the previous modi. The list can be customized with the -switchers argument. |
Ctrl-Tab |
Switch to the next modi. The list can be customized with the -switchers argument. |
Ctrl-Shift-Tab |
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. |
grave |
Toggle case sensitivity. |
Alt-grave |
Toggle levenshtein sort. |
Alt-Shift-S |
Take a screenshot and store this in the Pictures directory. |
There are currently three methods of setting configuration options:
xrdb -load ~/.Xresources
The Xresources options and the commandline options are aliased. So to set option X you would set:
rofi.X: value
In the Xresources file, and to (override) this via the commandline you would pass the same key prefixed with a ‘-’:
rofi -X value
To get a list of available options, formatted as Xresources entries run:
rofi -dump-Xresources
The configuration system supports the following types:
The boolean option has a non-default commandline syntax, to enable option X you do:
rofi -X
to disable it:
rofi -no-X
Please see the installation guide for instruction on how to install rofi.