logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Authors

ScarlettClark <scarlett@scarlettgatelyclark.com>
           Wrote the original documentation.

       AlexMerry <alexmerry@kde.org>
           Edited the documentation.

Bugs

       Please use KDE'sbugtracker[1] to report bugs.

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.

Name

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

Notes

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

KDE Frameworks Frameworks 5.0                      2014-04-02                                   DESKTOPTOJSON(8)

Options

--inputDESKTOP-FILE
           The .desktop file to convert.

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

       --help
           Show a brief help text.

       --version
           Show version information.

Synopsis

desktoptojson --input DESKTOP-FILE --output JSON-FILEdesktoptojson {--version | --help}

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.

See Also