gitwtfhub

wtf is dmenu?

ourongxing/dmenu — explained in plain English

Analysis updated 2026-08-08 · repo last pushed 2021-01-02

CAudience · developerComplexity · 3/5DormantSetup · moderate

TL;DR

A fast, lightweight Linux app launcher written in C that lets you search for and open programs by typing. This version adds fuzzy matching so you don't need to type names perfectly.

Mindmap

mindmap
  root((repo))
    What it does
      App launcher
      Keyboard search
      Fuzzy matching
    Tech stack
      C language
      Linux
    Use cases
      Launch programs
      Keyboard workflow
      Tiling window managers
    Audience
      Linux power users
      Keyboard fans
      Minimalist software users
    Setup
      Build from source
      No setup guide
      Needs C familiarity

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

Why would anyone build with this?

REASON 1

Quickly launch any installed program by typing a few letters instead of clicking through menus.

REASON 2

Navigate your Linux desktop without a mouse using a keyboard-driven app launcher.

REASON 3

Find and open programs even when you mistype or only remember part of the name.

What's in the stack?

CLinux

How it stacks up

ourongxing/dmenu0verflowme/radare2ac000/find-flv
LanguageCCC
Last pushed2021-01-022026-07-022013-04-05
MaintenanceDormantMaintainedDormant
Setup difficultymoderatemoderatemoderate
Complexity3/54/52/5
Audiencedeveloperdeveloperdeveloper

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

How do you spin it up?

Difficulty · moderate Time to first run · 30min

No setup guide included, you need to know how to compile C programs on Linux and have build tools like gcc and make installed.

No license information is provided in the README, so it is unclear what permissions you have to use, modify, or distribute this code.

Wtf does this do

Dmenu is a lightweight application launcher for Linux systems. Think of it as a quick pop-up menu that lets you search for and open programs, files, or scripts just by typing a few letters. Instead of clicking through menus or icons, you hit a keyboard shortcut, start typing what you want, and launch it instantly. The original version of dmenu matches what you type exactly. If you type "firefox," it finds "firefox." This particular version of the project adds fuzzy matching, which is a more forgiving way to search. With fuzzy matching, you can type a few letters that appear somewhere in the name, even if they aren't right next to each other or perfectly spelled. For example, typing "fref" might still find "Firefox" because it recognizes the pattern closely enough. This kind of tool is popular among Linux users who prefer keyboard-driven workflows and minimalist software. If you are someone who likes to keep your hands on the keyboard and navigate your system quickly, an app launcher like this fits the bill. It is especially common among users of tiling window managers like i3 or dwm, where the entire desktop environment is designed to be controlled without a mouse. The project is written in C, which is part of why it is so fast and lightweight. The trade-off here is that the README doesn't go into much detail beyond noting the fuzzy matching addition. There are no setup guides, usage examples, or configuration instructions included, so you would need some familiarity with building C programs on Linux to get it running. For users already comfortable with that process, the fuzzy matching feature is a small but meaningful quality-of-life improvement over the standard version.

Yoink these prompts

Prompt 1
Help me build and install this fuzzy-matching version of dmenu on Ubuntu. What build dependencies do I need and what commands should I run?
Prompt 2
I have this dmenu fork compiled. How do I bind it to a keyboard shortcut in i3 so it pops up when I press a key combination?
Prompt 3
Show me how to configure this dmenu to list custom scripts from a specific folder so I can launch them with fuzzy search.
Prompt 4
This dmenu uses fuzzy matching. Help me understand how the fuzzy search works and what typing patterns will reliably find the programs I want.

Frequently asked questions

wtf is dmenu?

A fast, lightweight Linux app launcher written in C that lets you search for and open programs by typing. This version adds fuzzy matching so you don't need to type names perfectly.

What language is dmenu written in?

Mainly C. The stack also includes C, Linux.

Is dmenu actively maintained?

Dormant — no commits in 2+ years (last push 2021-01-02).

What license does dmenu use?

No license information is provided in the README, so it is unclear what permissions you have to use, modify, or distribute this code.

How hard is dmenu to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is dmenu for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.