I3-DMENU-DESKTOP(1)
π i3-dmenu-desktop π
okay bestie, welcome to i3-dmenu-desktop(1), a lil slice of the User Contributed Perl Documentation corner of the manual-verse π she's a script, she's iconic, and she's about to make launching apps feel like a whole vibe. sit down, grab a strawberry π, let's go.
β¨ NAME β¨
i3-dmenu-desktop β run .desktop files with dmenu π¦
β¨ SYNOPSIS β¨
i3-dmenu-desktop [--dmenu='dmenu -i'] [--entry-type=name] [--show-duplicates]
like. that's it. that's the whole summoning ritual π
β¨ DESCRIPTION β¨
so i3-dmenu-desktop is this script that extracts the (localized) name out of your application .desktop files, hands the user a cute lil menu via dmenu(1), and then launches whichever app they picked via i3 (this is the part that gives you startup notification support, no cap π).
the whole reason you'd use this instead of dmenu_run(1)? okay so dmenu_run just offers up every single binary in your $PATH, which lowkey means it's also offering you non-interactive utilities like sed π not the serve. meanwhile .desktop files come with a proper name, plus info about whether the app runs in a terminal and whether it supports startup notifications. it's giving curated, it's giving taste β¨
the .desktop files get searched in $XDG_DATA_HOME/applications (by default $HOME/.local/share/applications) and in the applications subdirectory of each entry of $XDG_DATA_DIRS (by default /usr/local/share/:/usr/share/). she knows where to look, she's organized π
files with the same name in $XDG_DATA_HOME/applications take precedence over files in $XDG_DATA_DIRS, so you can overwrite parts of the system-wide .desktop files by copying them to your local directory and making changes. main character energy: local always wins π
i3-dmenu-desktop displays the "Name" value in the localized version, depending on LC_MESSAGES as specified in the Desktop Entry Specification. yes bestie, she reads the spec π
you can pass a filename or URL (%f/%F and %u/%U field codes in the .desktop file respectively) by appending it to the name of the application. E.g., if you want to launch "GNU Emacs 24" with the path /tmp/foobar.txt, you would type "emacs", press TAB, type "/tmp/foobar.txt" and press ENTER. that's the flow, that's the ritual, iykyk πΈ
.desktop files with Terminal=true are started using i3-sensible-terminal(1). π₯οΈ
.desktop files with NoDisplay=true or Hidden=true are skipped. not invited to the party, sorry not sorry π
UTF-8 is supported, of course, but heads up: dmenu does not support displaying all glyphs. E.g., xfce4-terminal.desktop's Name[fi]=PÀÀte will be displayed just fine, but not its Name[ru]=Π’Π΅ΡΠΌΠΈΠ½Π°Π». so like, some glyphs just don't make it to the group chat π
β¨ OPTIONS β¨
--dmenu=commandβ Execute command instead of'dmenu -i'. this one's for when you wanna pass custom parameters to dmenu, or makei3-dmenu-desktopstart a custom (patched?) version of dmenu. go off, customise ur life π--entry-type=typeβ Display the (localized)"Name"(type =name), the command (type =command) or the (.desktop) filename (type =filename) in dmenu. this option can be specified multiple times. duplicates will be removed, see'--show-duplicates'.
examples are "GNU Image Manipulation Program" (type = name), "gimp" (type = command), and "libreoffice-writer" (type = filename). pick ur fighter, or honestly, pick all three π
--show-duplicatesβ Show duplicates if'--entry-type'is specified multiple times. no deduping, no filtering, just everything, exactly as requested π
β¨ VERSION β¨
Version 1.5 β
β¨ AUTHOR β¨
Michael Stapelberg, "<michael at i3wm.org>" β ty king π«Ά
β¨ LICENSE AND COPYRIGHT β¨
Copyright 2012 Michael Stapelberg.
This program is free software; you can redistribute it and/or modify it under the terms of the BSD license. periodt π
fr fr, that's the whole page. now go forth and launch things cutely π¦
okay and the lil sign-off at the very bottom, the boring footer stuff but make it cute: this is perl v5.40.0, dated 1980-01-01, and yes the manual name is I3-DMENU-DESKTOP(1) π bye bestie, slay ur desktop entries πβ¨
π¦ where this page comes from
- fedora 43: i3 4.25.1-1.fc43 Β· BSD-3-Clause
- fedora 44: i3 4.25.1-1.fc44 Β· BSD-3-Clause
- ubuntu resolute: i3-wm 4.25.1-1 Β· BSD-3-Clause
- ubuntu stonking: i3-wm 4.25.1-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms