Plasmoids have different filesystem layout to non-plasmoids. Why?

  • $PlasmoidName-$PlasmoidVersion/ (root)
    • metadata.desktop
    • contents/
      • code/ files containing scripting code
        • main the main file that will be loaded at plasmoid start (unless you specify a different name in metadata.desktop)
      • images/ image files in svg, png or jpeg format
      • locale/ translation files in a standard localization hierarchy; e.g. German translation would appear in locale/l10n/de/
      • ui/ user interface files, such as Qt Designer layouts
        • config.ui the main configuration dialog layout
      • config/ KConfigXt files describing the configuration
        • main.xml the main configuration description
      • ... additional plasmoid-specific files
  • versus

    β”œβ”€β”€ CMakeLists.txt
    └── src/
        β”œβ”€β”€ CMakeLists.txt
        β”œβ”€β”€ main.cpp
        β”œβ”€β”€ resources.qrc
        └── contents/
            └── ui/
                └── main.qml

    Why is this?

    I ask because I’d love to be able to make an independently launchable app that’s easily packageable as a plasmoid, but this is rather a point of contention.

    First your first link is very old, is the place to find doc for Plasma Themes and Plugins | Developer

    Also there is no strong filesystem layout requirement for non plasmamoids apps. The contents/ui stuff is mostly convention which we inherited from plasma development, but you are free to use any layout you want.

    1 Like