The KDE wiki has a Getting Started and Hello World tutorial which you can read as well. Default Widgets Learn By Example You can learn by example by reading the default widgets located at: /usr/share/plasma/plasmoids/ You can fork an existing widget by copying the widget to where the downloaded widgets are installed to: ~/.local/share/plasma/plasmoids/ To properly fork the widget, rename the new folder, then edit the Id in the metadata.json file to match the new folder name. You will also wan...| Developer – Plasma themes and plugins
Project Structure Declarative effects require some particular project structure that we need to learn first before writing any code └── package ├── contents │ └── ui │ └── main.qml └── metadata.json The package directory is a toplevel directory, it should contain two things: a metadata.json file and a contents directory. The metadata.json file contains information about the name of the effect, what API it uses, the author, etc. {"KPackageStructure":"KWin/Effe...| Developer – Plasma themes and plugins
Javascript Interaction With Plasma Shells It is possible to control and interact with a Plasma user interface shell such as a plasma-desktop, plasma-mobile or plasma-bigscreen using ECMA Script (a.k.a JavaScript). This scripting mechanism exposes containments (Desktop Activities and Panels), widgets and various other aspects of plasma-desktop configuration using the widely known and used Javascript language. The QJSEngine is used for the runtime environment. This document describes the API th...| Developer – Plasma themes and plugins
| Developer – Plasma themes and plugins
Quick Start: Desktop Console The easiest way to test KWin scripts is to use the Plasma Desktop Scripting Console which can be opened via the KRunner window (Alt+F2, by default, or via the "Run Command" entry in various desktop menus) by entering wm console as the search term. The console can also be opened from the terminal using the following command: plasma-interactiveconsole --kwin In Plasma versions earlier than 5.23 the command is: qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShe...| Developer – Plasma themes and plugins
Plasma has the ability to automatically select an accent color based on the colors of the currently applied wallpaper, however, you also have the option to specify a specific accent color for more artistic control. Setting a custom accent color for Plasma wallpapers You can add the "X-KDE-PlasmaImageWallpaper-AccentColor" property in your wallpaper's metadata.json file to specify the accent color that will be applied to the Plasma Desktop when the user enables the "Accent color from wallpaper...| Developer – Plasma themes and plugins
Introduction The Window Switcher (Alt+Tab) can be custom styled using layouts written in QML since KDE Plasma Workspaces (now Plasma) in version 4.8. The window manager supports multiple Window Switchers and exchanges the loaded layout at runtime. Additionally the underlying Model is recreated each time the switcher is invoked and some properties might change due to screen changes and different settings for the multiple switchers. To support this the QML loader can set properties in the custo...| Developer – Plasma themes and plugins
Abstract The Plasma workspace provides an application called KRunner which, among other things, allows one to type into a text area that causes various actions and information that match the text appear as the text is being typed.| Developer
Universal Properties These include user-visible keys like Name, Icon, and Description, which will be shown in several places, like the list of Runners available under System Settings > Search > Plasma Search.| Developer
How to create window decorations with SVGs| Developer
Learn how to create a Comic provider plugin| Developer