It's possible to write Javascript Plasmoids that use the QML (aka QtQuick) declarative language to describe their user interface, while having the logic in JavaScript. This is now the '''recommended''' method of creating plasmoids, if possible. It allows easily the declaring of an interface. It is also what Plasma is leaning the most towards, especially in the Mobile, MediaCenter and KDM shells.

+

Plasmoids that use the QML (aka QtQuick) declarative language to describe their user interface while having the logic of the applet, in JavaScript (QML is essentially a forge between CSS and JavaScript).

+

+

This is now the '''recommended''' method of creating plasmoids, where possible. The plasmoid, or applet serves as the visualization for the data which a Plasma::DataEngine contains.

+

+

It allows easily the declaring of an interface and to easily create things like ListViews with native Plasma theming. It what Plasma is leaning the most towards, especially in the Mobile, MediaCenter and KDM shells.

;[[Development/Tutorials/Plasma/QML/GettingStarted|Getting Started]]

;[[Development/Tutorials/Plasma/QML/GettingStarted|Getting Started]]

Line 9:

Line 13:

;[[Development/Tutorials/Plasma/QML/API|API Reference]]

;[[Development/Tutorials/Plasma/QML/API|API Reference]]

:''The QML Plasmoid API. Useful for referencing what is available in the runtime, what are the differences with the pure JavaScript ScriptEngine, the differences between pure Qt QML and Plasma, and as a study aid for the tutorials above.''

:''The QML Plasmoid API. Useful for referencing what is available in the runtime, what are the differences with the pure JavaScript ScriptEngine, the differences between pure Qt QML and Plasma, and as a study aid for the tutorials above.''

Plasma and Creating QML Plasmoids

Plasmoids that use the QML (aka QtQuick) declarative language to describe their user interface while having the logic of the applet, in JavaScript (QML is essentially a forge between CSS and JavaScript).

This is now the recommended method of creating plasmoids, where possible. The plasmoid, or applet serves as the visualization for the data which a Plasma::DataEngine contains.

It allows easily the declaring of an interface and to easily create things like ListViews with native Plasma theming. It what Plasma is leaning the most towards, especially in the Mobile, MediaCenter and KDM shells.

The QML Plasmoid API. Useful for referencing what is available in the runtime, what are the differences with the pure JavaScript ScriptEngine, the differences between pure Qt QML and Plasma, and as a study aid for the tutorials above.

PackageStructure plugins allow custom Packages to be defined, installed, removed and listed as well as provide access their contents at runtime. Packages may contain any kind of data addons, including scripts.

This tutorial covers the essentials of writing a new Plasma shell from scratch. A must-read for anyone creating a new or modifying an existing Plasma Shell. Existing Plasma shells include Plasma Desktop, Plasma Netbook, Plasma Mobile, Plasma Media Center, Plasma Screensaver, Plasma KPart and Plasma KDM, and all follow the patterns documented here.

Other Applications Of Javascript

The KDE Plasma Desktop and Netbook provide means to manage the desktop shell (desktop, panels, widget) via scripts written in JavaScript. This article describes how to take advantage of this feature set as well as documents the full API. This is primarily a system administration tool, but may also be of interest to power users.