kde-workspace/plasma
Ivailo Monev 17b5ffc92c plasma: deal with TODO related to sessions runner
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-31 20:51:02 +03:00
..
applets plasma: call KWindowListMenu constructor in WindowList::init() 2023-08-31 18:24:48 +03:00
containmentactions generic: remove dead and irrelevant links references 2023-08-10 15:44:43 +03:00
containments generic: remove dead and irrelevant links references 2023-08-10 15:44:43 +03:00
dataengines generic: adjust to KNotification changes 2023-08-25 08:07:58 +03:00
declarativeimports generic: replace QLabel with the new KPixmapWidget class 2023-08-30 05:10:09 +03:00
design plasma: remove activities documentation 2023-08-11 19:40:07 +03:00
desktoptheme plasma: remove bogus opaque shutdowndialog image 2023-08-30 19:58:28 +03:00
kpart generic: remove dead and irrelevant links references 2023-08-10 15:44:43 +03:00
runners plasma: deal with TODO related to sessions runner 2023-08-31 20:51:02 +03:00
scriptengine plasma: remove non-operational ScriptEnv methods 2023-08-11 19:09:46 +03:00
sessions plasma: add session files 2022-04-01 17:43:48 +03:00
shells khotkeys: drop it 2023-08-29 23:04:14 +03:00
toolboxes generic: remove dead and irrelevant links references 2023-08-10 15:44:43 +03:00
wallpapers plasma: remove unused interface and declaration of non-existing Image::suspendStartup() method 2023-08-31 19:39:17 +03:00
CMakeLists.txt generic: drop support for installing Plasma applets from package file 2022-10-04 20:49:46 +03:00
README generic: remove dead and irrelevant links references 2023-08-10 15:44:43 +03:00

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/.

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/