# KDE Plasma

KDE Plasma is a set of graphical shells developed by KDE for Unix-like operating systems. With the KDE brand repositioning in 2009, Plasma 4.4 succeeded KDE 4.3. Currently, it has four workspace variants: one for desktop PCs and laptops (Plasma Desktop) one for TVs (Plasma Bigscreen), one for smartphones (Plasma Mobile), and another for embedded and touch-enabled devices (Plasma Nano). Plasma Desktop, in its default configuration, resembles KDesktop from K Desktop Environment 3 and Microsoft Windows XP; however, extensive configurability allows radical departures from the default layout.
Its technology is a fundamental rewrite of several desktop interaction programs included in previous KDE desktop environments for Unix-like systems, focusing on eye candy and special graphical effects. Plasma replaces the previous KDesktop shell, Kicker taskbar and SuperKaramba widget engine used in the K Desktop Environment 3 series with a unified system of widgets that can be configured and replaced with alternative designs.
Since the split of the KDE Software Compilation into KDE Plasma Workspaces, KDE Frameworks and KDE Applications, each subproject can develop at its own pace. Plasma 6 is on its own release schedule, with feature releases every four months, and bugfix releases in the intervening months.

## Releases
### Plasma 4

Plasma 4 was released as part of KDE Software Compilation 4 and replaced Kicker, KDesktop, and SuperKaramba, which formed the Desktop in earlier KDE releases. They are bundled as the default environment with a number of free software operating systems, such as Chakra, Kubuntu, Mageia (DVD version), openSUSE, or TrueOS.
From KDE SC 4.0 to KDE SC 4.2, the default theme, "Oxygen", was characterized by dark tones. In KDE SC 4.3, it was replaced by the new "Air" theme, which predominates in transparency and white as the base color. New themes for Plasma can be chosen and installed through software like Discover or online at store.kde.org.
With the release of KDE SC 4.11 on 14 August 2013, Plasma 4 was placed into a feature freeze and turned into a long-term stable package until August 2015. On 15 July 2014 Plasma 4's successor, Plasma 5, was released.

#### Features

Plasma features containments, which are essentially applets that contain other applets. Two examples of containments are the desktop background and the taskbar. A containment can be anything the developer wants: an image (either raster graphics or an SVG image), animation, or even OpenGL. Images are most commonly used, but with Plasma the user could set any applet as the desktop background without losing functionality of the applet. This also allows for applets to be dragged between the desktop and the taskbar (two separate containments), and have a separate visualization for the more confined taskbar.
Plasma separates components into "data engine" and their visualization counterparts. This is intended to reduce the total programming effort when there are multiple possible visualizations of given data; and to make it easier for the data engine and the workspaces to be written independently.
The scalable nature of the Plasma widgets allows for them to be resized and rotated to any size, with only a brief pause to redraw themselves. The Kross scripting framework allows developers to write widgets in a variety of programming languages in addition to C++.
KRunner is a versatile tool for several functions. It replaces the dialog box "Run Command" from K Desktop Environment 3, and also inherits from the application launcher feature, expanding the possibilities through a modular plug. KRunner stores previously entered commands and searches, accessible via an auto-complete feature. KRunner can be shown on the desktop via the keyboard combination Alt+F2 or by selecting "Run Command ..." in the desktop menu.
These functions are handled by the plugin:
* Application launcher: Type at least three letters of the desired name or description. KRunner shows applications associated with the terms of the search and allows the selection of the desired one.
* Calculator: Simply enter the desired operation to show the result. It also supports sophisticated expressions.
* Contacts can search for entries in KDE's address book allowing users to directly open, for example, KMail to write an e-mail. The address of the recipient of your choice is automatically added to the message.
* Unit Converter converts values between different units of measure.
* Web history: Search history of recently visited sites in Konqueror.
* Recent documents: Search for recently opened files.

#### Widgets

This is a list of widgets that the current release version of Plasma supports. Not all widgets are supported by default in all Linux distributions; some may require different packages or even a recompilation of Plasma.
* First-generation native widgets (in C++, JavaScript, Ruby, or Python. In many distributions, the Ruby and Python bindings must be downloaded separately as packages.)
* Second-generation native widgets written in QML
* Apple Dashboard widgets
* SuperKaramba widgets – used in KDE 3
* Web widgets (supports HTML and JavaScript)
Previous Plasma Workspaces releases also supported Edje gadgets and E17 modules. Support for those was developed in 2008 but removed later, in 2010.
Google Gadgets were also supported. After Google announced the discontinuation of its two services that utilize Gadgets – Google Desktop and iGoogle – KDE removed support for this widget engine in March 2013.

#### Version history
### Plasma 5

Plasma 5 is the fifth generation of the graphical workspaces environment created by KDE primarily for Linux systems. Plasma 5 is the successor of Plasma 4 and was first released on 15 July 2014. It includes a new default theme, known as "Breeze", as well as increased convergence across different devices. The graphical interface was fully migrated to QML, which uses OpenGL for hardware acceleration, which resulted in better performance and reduced power consumption.
Plasma Mobile is a Plasma 5 variant for Linux-based smartphones.

#### Architecture

KDE Plasma 5 is built using Qt 5 and KDE Frameworks 5, predominantly plasma-framework.
It improves support for HiDPI displays and ships a convergable graphical shell, which can adjust itself according to the device in use. 5.0 also includes a new default theme, dubbed Breeze. Qt 5's QtQuick 2 uses a hardware-accelerated OpenGL(ES) scene graph (canvas) to compose and render graphics on the screen, which allows for the offloading of computationally expensive graphics rendering tasks onto the GPU, freeing up resources on the system's main CPU.

#### Windowing systems

KDE Plasma 5 uses the X Window System and Wayland. Support for Wayland was prepared in the compositor and planned for a later release. It was made initially available in the 5.4 release. Stable support for a basic Wayland session was provided in the 5.5 release (December 2015).
Support for NVIDIA proprietary driver for Plasma on Wayland was added in the 5.16 release (June 2019).

#### Features

* KRunner, a search feature with many available plugins. In addition to launching apps, it can find files and folders, open websites, convert from one currency or unit to another, calculate simple mathematical expressions, and perform numerous other useful tasks.
* Flexible desktop and panel layouts composed of individual widgets (also known as "Plasmoids") can be individually configured, moved around, replaced with alternatives, or deleted. Each screen's layout can be individually configured. New widgets created by others can be downloaded within Plasma.
* Powerful clipboard with a memory of previously copied pieces of text that can be called up at will.
* Systemwide notification system supporting quick reply and drag-and-drop straight from notifications, history view, and a Do Not Disturb mode.
* Central location to control playback of media in open apps, the phone (with KDE Connect installed), or the web browser (with Plasma Browser Integration installed)
* Activities, which allow users to separate methods of using the system into distinct workspaces. Each activity can have its own set of favorite and recently used applications, wallpapers, "virtual desktops", panels, window styles, and layout configurations. It also couples with ksmserver (X Session Manager implementation) which keeps track of apps that can be run or shutdown along with given activity via subSessions functionality that keep track of state of applications (not all applications support this feature as they do not implement XSMP protocol).
* Encrypted vaults for storing sensitive data.
* Night Color, which can automatically warm the screen colors at night, or user-specified times, or manually.
* Styling for icons, cursors, application colors, user interface elements, splash screens and more can be changed, with new styles created by others being downloadable from within the System Settings application. Global Themes allow the entire look and feel of the system to be changed in one click.
* Session Management allows apps which were running when the system shut down to be automatically restarted in the same state they were in before.

### Plasma 6

KDE Plasma 6 is the sixth and current generation of the graphical workspaces environment made by KDE. It is the successor to Plasma 5 and was initially released on 28 February 2024.
Plasma 6 changes the default display server from X11 to Wayland, though the former is still available.

## Variants

* Plasma Netbook's Search and Launch view
* Plasma Active’s Semantic File Browser
* First technology preview of Plasma Mobile during the “Tokamak 4” developer sprint in February 2010
* Technology preview of Plasma Mobile on video

### Plasma Desktop

Plasma Desktop is the main variant of KDE Plasma, targeted to desktop PCs and laptops.

### Plasma Netbook

Plasma Netbook aims at netbooks and may also be used on tablet PCs. The first stable release shipped with KDE SC 4.4. With the release of Plasma 5, Plasma Netbook's functionality was merged into Plasma itself.

### Plasma Active

Plasma Active was a workspace for devices with touchscreens. It shipped with several applications such as Kontact Touch and a document viewer based on Calligra Suite. "Contour" was the name of an interface for tablet devices. Its development was started in April 2011 by basysKom. Replacing an earlier tablet prototype, Contour has then become the main workspace UI of Plasma Active and was shipped as 1.0 in October 2011.
Plasma Active has been succeeded by Plasma Mobile starting with Plasma 5.

### Plasma Mobile

Plasma Mobile was targeted at smartphones and small tablet devices that are mainly used via touch input. It was originally expected to be released in 2011 along with Plasma Active 1.0 but development focus shifted towards Contour. A new version with the same name but based on KDE Frameworks 5 was announced on the 25th of July 2015.

### Plasma Bigscreen

Plasma Bigscreen for TVs and set-top boxes incl. voice interaction.

### Plasma Nano

Plasma Nano is a minimal shell for embedded and touch-enabled devices, like IoT or automotive.