gendesk(1)

gendesk(1) gendesk(1)

NAME

gendesk - generate .desktop files based on command-line arguments (or a PKGBUILD file)

SYNOPSIS

gendesk [flags or PKGBUILD file]

DESCRIPTION

Supported PKGBUILD variables that will be included in the generated file:

_name

_genericname

_comment

_mimetype

_exec

_categories

Gendesk will try to find the correct icon from the Open Icon Library or else fall back on the default icon.

The correct application category will be guessed if not provided. Supported environment variables:

pkgname

pkgdesc

EXAMPLES

gendesk
Exits with error code 1 if ../PKGBUILD is not found and pkgname is not given and $pkgname is not defined. Will try to use both $pkgname and $pkgdesc.

gendesk PKGBUILD
Looks for a PKGBUILD in the current directory and generates a .desktop file.

gendesk --pkgname test --pkgdesc test
Generates a .desktop file for the name "test" with the description "test".

gendesk /home/user/archpackages/mypackage/PKGBUILD
Generates a .desktop file from the given PKGBUILD.

A package name must be given, either by specifying a PKGBUILD file, using --pkgname or by defining a $pkgname environment variable.

Note that a "-bin", "-git", "-hg" or "-svn" suffix in a package name will be ignored, if present.

OPTIONS

--version
displays the current version information
-h or --help
displays brief usage information
-n
don't attempt to download an icon, if missing
--nocolor
don't use colored text
-q
quiet; don't output text
-f
force; overwrite files if needed
-wm
generate a small desktop file for launching a window manager instead
--pkgname
use this package name for the application (ie. emacs)
--pkgdesc
use this package description for describing the application and try to find a suitable category
--name
use this name for the desktop shortcut (ie. Emacs)
--genericname
use this generic name for the desktop shortcut (ie. Text Editor)
--comment
use this comment for the desktop shortcut (ie. Use this to edit files)
--exec
specify an alternative executable, (ie. /usr/bin/emacs)
--path
specify a starting path for the program, (ie. /usr/share/kotlin)
--icon
specify an icon filename (defaults to the pkgname)
--categories
specify categories (ie. Utility;TextEditor;)
--terminal
specify if the application should be run in a terminal (default is false)
--mimetypes
specify mime-types
--startupnotify
specify if a desktop notification should occur when the application starts (default is false)
--custom
specify an extra line (or several lines) to append at the end
-o or --output
specify the output .desktop filename. For split PKGBUILDs, pass a comma-separated list with one filename per package; mismatched counts are an error. Defaults to PKGNAME.desktop.

WHY

Aims to make it easy for package maintainers to add menu entries for the applications they try to package, without including anything that hasn't been supplied by upstream in the package itself.

BUGS

Only unknown bugs so far. Bugs can be reported at https://github.com/xyproto/gendesk/issues.

VERSION

1.0.15

AUTHOR

gendesk was written by Alexander F. Rødseth <xyproto@archlinux.org>

29 May 2026