i3-dmenu-desktop(1) run .desktop files with dmenu

SYNOPSIS


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

DESCRIPTION

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 /usr/local/share/:/usr/share/).

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 ENTER.

.desktop files with Terminal=true are started using i3-sensible-terminal(1).

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

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]=Терминал.

OPTIONS

--dmenu=command
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 dmenu.
--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.

Examples are ``GNU Image Manipulation Program'' (type = name), ``gimp'' (type = command), and ``libreoffice-writer'' (type = filename).

VERSION

Version 1.5

AUTHOR

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

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.