Plasma/DeveloperGuide

From KDE Community Wiki
Revision as of 22:27, 18 August 2015 by Sebas (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The Ultimate Guide to Plasma Development


Introduction

App, Plasmoid, or both?

- app vs plasmoid


Software Stack

- QML / QtQuick: ui primitives, app logic, rendering, states
- imports
- Plasma libs
- underlying frameworks
- runtime environment
- kpackage

Requirements Analysis & Design=

Getting Started

Developing a Plasmoid

Creating the empty package

filesystem structure

metadata.desktop

- system integration (systray, alternatives, mimetypes, arguments, formfactors)


installation

- cmake
- plasmapkg2


Starting the Code

main.qml stuffz

- Layouts
- plasmoid object
- fullRepresentation vs. popup

Plasma API

+ links to API documentation!
- PlasmaCore
- PlasmaComponents
- PlasmaExtras
- kdeclarative's useful stuff: kcmOpen? more useful imports
- general guidelines: units, iconSizes,

Development Environment Setup

Tools

- editor
- commandline
- plasmapkg2
- plasmoidviewer
- plasmathemething
- cuttlefish
-

Display and Rendering

- theming
- image display
- dpi
- ColorScope

Supporting Multiple Devices

- touch friendliness
- layout considerations
- formfactor support (X-KDE-FormFactors)
-

Workspace Integration

- system tray
- plasmoid status
- dbus autoload

Translations

- i18n() & friends
- making sure i18n is set up & how to x-test

Distribution

- plasmoid package
- appstream metadata
- kdeapps online installation
- distros
- upstreaming code