explaingit

davatorium/rofi

Analysis updated 2026-06-24

16,064CAudience · ops devopsComplexity · 3/5LicenseSetup · easy

TLDR

A keyboard-driven popup launcher and window switcher for Linux and BSD, with fuzzy search, themes, and a scriptable dmenu replacement mode.

Mindmap

mindmap
  root((rofi))
    Inputs
      Keystroke shortcut
      Search query
      Custom scripts
    Outputs
      Launched app
      Switched window
      SSH session
    Use Cases
      Replace app launcher
      Switch open windows
      Power menu via script
      Pick SSH host
    Tech Stack
      C
      Xorg
      Wayland
      Pango
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace dmenu with rofi as the app launcher in a tiling window manager like i3 or sway.

USE CASE 2

Bind a key to switch between open windows by typing a few letters.

USE CASE 3

Build a power menu script with shutdown, reboot, and lock options served through rofi.

USE CASE 4

Quickly SSH into a host by name picked from your ~/.ssh/config.

What is it built with?

CXorgWaylandPango

How does it compare?

davatorium/rofiflipperdevices/flipperzero-firmwareshadowsocks/shadowsocks-libev
Stars16,06415,98016,159
LanguageCCC
Setup difficultyeasyhardmoderate
Complexity3/55/54/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Install via the system package manager, full theming and scripting take longer to learn.

Free to use, modify, and redistribute under the MIT license, keeping the copyright notice.

In plain English

Rofi is a keyboard-driven popup menu tool for Linux that serves three main purposes: switching between open windows, launching applications, and acting as a replacement for dmenu (a lightweight command-line menu program). Instead of clicking through a taskbar or application grid with your mouse, you press a keyboard shortcut and a searchable list appears, you type a few letters to filter the options and press Enter to launch or switch. The built-in modes cover common use cases: run mode launches programs from the command line, drun mode launches apps based on desktop shortcut files, window mode switches between open windows, ssh mode lets you connect to remote servers by name, file-browser lets you open files, and combi mode merges multiple lists into one. All of these can appear in a single popup with flexible, fuzzy search filtering, meaning you can type words in any order and it will still find what you're looking for. Rofi is aimed at Linux power users, particularly those running minimal or tiling window managers (setups where windows are arranged automatically, often without a traditional taskbar). It is highly themeable, supports international keyboards and right-to-left text, and can be extended with custom scripts or plugins. It is written in C and is known to work on Linux and BSD systems.

Copy-paste prompts

Prompt 1
Install rofi on Arch Linux and bind Super+space in i3 to run rofi -show drun.
Prompt 2
Write a bash script that pipes a list of clipboard history items into rofi -dmenu and copies the chosen one back to the clipboard.
Prompt 3
Create a rofi theme file styled like macOS Spotlight, show the .rasi syntax.
Prompt 4
Build a rofi power menu with shutdown, reboot, lock, and logout entries using a small shell script.
Prompt 5
Compare rofi, wofi, and fuzzel for Wayland users in 2026, which is the best dmenu replacement.

Frequently asked questions

What is rofi?

A keyboard-driven popup launcher and window switcher for Linux and BSD, with fuzzy search, themes, and a scriptable dmenu replacement mode.

What language is rofi written in?

Mainly C. The stack also includes C, Xorg, Wayland.

What license does rofi use?

Free to use, modify, and redistribute under the MIT license, keeping the copyright notice.

How hard is rofi to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is rofi for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub davatorium on gitmyhub

Verify against the repo before relying on details.