PLASMA
======

The applications and plugins that provide the panels/desktop/dashboard parts of
the primary user interface for the KDE Plasma workspaces (Plasma Desktop, Netbook, etc).
Much of the functionality is provided by libplasma, which is found in kdelibs/plasma/.

For more information, please visit the Plasma website at http://plasma.kde.org.

Directory Structure
===================

Each top level directory denotes which workspace (desktop, netbook, screensaver, etc.)
the components within it apply to. There is a directory named "generic" for components
that do not apply to a specific workspace.

Within each of these top level directories, the following hierarchy exists:

               applets: Applets (aka "plasmoids" or "widgets") that are considered central
                        to the workspace in question

          containments: Standard containment objects that provide management for the
                        Plasma contents shown on panels, desktops, screensavers, etc.

           dataengines: DataEngines considered generally useful; more specific/niche
                        DataEngines can be found in kdeplasma-addons or extragear/plasma/

               runners: Provides matches to queries; used by KRunner, Kickoff, others

              shell(s): The application(s) that provide the Plasma viewing environment
                        for a given workspace / formfactor. They also provide
                        implementations of dialog placement, screen geometry, remote
                        widget notifications, access request UI, containment
                        management UI, etc. Essentially all the framework pieces needed
                        to provide appropriate rendering of an environment for a given
                        form factor or target device.

    containmentactions: Plugins that provide actions for context menus and other input
                        triggered action sets


In addition to the above, the generic directory also contains:

            wallpapers: Background rendering plugins for containments
         scriptengines: Glue between libplasma and APIs provided via dynamic languages or
                        3rd party systems; note that the Javascript scriptengines
                 tools: useful applications for working with Plasma apps, including:
                            * engineexplorer: a graphical utility to examine engines
                            * wallpaperviewer: a tool to view Plasma wallpaper plugins
                            * plasmoidviewer: a viewer for individual Plasma applets,
                              particularly useful for edevel and debugging

KDE Base Runtime
================
A number of important components live in the kdebase-runtime package in the plasma/
directory, including:

* The javascript ScriptEngines for Plasmoids, DataEngines and Runners
* plasmapkg: Installs, removes and lists plasma packages
* remotewidgetshelper: a small help tool for Plasma applets that are remoted over
  the network

The default SVG themes also exist in kdebase-runtime under desktopthemes/
