Provided by: libkf5service-bin_5.98.0-0ubuntu1_amd64 bug

NAME

       desktoptojson - Converts a .desktop file to a .json file.

SYNOPSIS

       desktoptojson --input DESKTOP-FILE --output JSON-FILE

       desktoptojson {--version | --help}

DESCRIPTION

       The KService framework uses information contained in .desktop files to locate services,
       including plugins for Qt5-based applications and libraries. The Qt5 plugin system,
       however, uses JSON data embedded in the plugin itself.  desktoptojson allows the
       information contained in a .desktop file to also be used as the embedded data for a Qt5
       plugin by converting the .desktop file entries into JSON data.

       The generated JSON data is a JSON object that maps the entries from the [Desktop Entry]
       group of the .desktop file. Any other groups are ignored. Most entries are just converted
       to JSON strings, but certain entries (such as Hidden and
       X-KDE-PluginInfo-EnabledByDefault) are known to be boolean values and converted as such,
       and similarly some (such as X-KDE-ServiceTypes and X-KDE-PluginInfo-Depends) are always
       converted to arrays of strings.

OPTIONS

       --input DESKTOP-FILE
           The .desktop file to convert.

       --output JSON-FILE
           The file to write the generated JSON data to.

       --help
           Show a brief help text.

       --version
           Show version information.

USAGE

       Most users of this utility will use the CMake macro kservice_desktop_to_json as part of
       the process of building a plugin.

           add_library(myplugin MODULE ${myplugin_SRCS})
           kservice_desktop_to_json(myplugin myplugin.desktop)

       This will produce the JSON file myplugin.json, which can be referenced from the
       K_PLUGIN_FACTORY_WITH_JSON or Q_PLUGIN_METADATA macros.

BUGS

       Please use KDE's bugtracker[1] to report bugs.

AUTHORS

       Scarlett Clark <scarlett@scarlettgatelyclark.com>
           Wrote the original documentation.

       Alex Merry <alexmerry@kde.org>
           Edited the documentation.

NOTES

        1. KDE's bugtracker
           https://bugs.kde.org