i3−dmenu−desktop − run .desktop files with dmenu

    i3−dmenu−desktop [−−dmenu='dmenu −i'] [−−entry−type=name]

i3−dmenu−desktop is a script which extracts the (localized)
name from application .desktop files, offers the user a
choice via dmenu(1) and then starts the chosen application
via i3 (for startup notification support).  The advantage of
using .desktop files instead of dmenu_run(1) is that
dmenu_run offers all binaries in your $PATH, including non‐
interactive utilities like "sed". Also, .desktop files
contain a proper name, information about whether the
application runs in a terminal and whether it supports
startup notifications.

     The .desktop files are 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

     Files with the same name in $XDG_DATA_HOME/applications
take precedence over files in $XDG_DATA_DIRS, so that you
can overwrite parts of the system‐wide .desktop files by
copying them to your local directory and making changes.

     i3−dmenu−desktop displays the "Name" value in the
localized version depending on LC_MESSAGES as specified in
the Desktop Entry Specification.

     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 patch /tmp/foobar.txt, you would
type "emacs", press TAB, type " /tmp/foobar.txt" and press

     .desktop files with Terminal=true are started using

     .desktop files with NoDisplay=true or Hidden=true are

     UTF−8 is supported, of course, but 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]=ТеÑминал.

    Execute command instead of ’dmenu −i’. This option can


    be used to pass custom parameters to dmenu, or to make
    i3−dmenu−desktop start a custom (patched?)  version of

    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.

    Examples are "GNU Image Manipulation Program" (type =
    name), "gimp" (type = command), and "libreoffice‐writer"
    (type = filename).

Version 1.5

Michael Stapelberg, "<michael at i3wm.org>"

Copyright 2012 Michael Stapelberg.

     This program is free software; you can redistribute it
and/or modify it under the terms of the BSD license.