Please match the documentation and scripts to the version of rofi used
Also see the locally installed documentation (manpages).
A window switcher, Application launcher and dmenu replacement.
vid-2021-10-29-165650.mp4
Rofi started as a clone of simpleswitcher, written by Sean Pringle - a popup window switcher roughly based on superswitcher. Simpleswitcher laid the foundations, and therefore Sean Pringle deserves most of the credit for this tool. Rofi (renamed, as it lost the simple property) has been extended with extra features, like an application launcher and ssh-launcher, and can act as a drop-in dmenu replacement, making it a very versatile tool. Thanks to the great work of lbonn, who added Wayland support in his fork and maintained it for years, Rofi now officially supports Wayland (since 2025).
Rofi, like dmenu, will provide the user with a textual list of options where one or more can be selected. This can either be running an application, selecting a window, or options provided by an external script.
Rofi is not:
-
A UI toolkit.
-
A library to be used in other applications.
-
An application that can support every possible use-case. It tries to be generic enough to be usable by everybody.
- Specific functionality can be added using scripts or plugins, many exist.
-
Just a dmenu replacement. The dmenu functionality is a nice 'extra' to rofi, not its main purpose.
Its main features are:
-
Fully configurable keyboard navigation
-
Type to filter
- Tokenized: type any word in any order to filter
- Case insensitive (togglable) or SmartCase
- Support for fuzzy-, regex-, prefix-, and glob-matching
-
UTF-8 enabled
- UTF-8-aware string collating
- International keyboard support (`e -> è)
-
RTL language support