Plasma/DeveloperGuide: Difference between revisions

From KDE Community Wiki
(draft structure for new developer guide)
 
No edit summary
Line 31: Line 31:




===filesystem structure==
===filesystem structure===




Line 41: Line 41:
  - cmake
  - cmake
  - plasmapkg2
  - plasmapkg2




Line 53: Line 54:


===Plasma API===
===Plasma API===
+ links to API documentation!
  - PlasmaCore
  - PlasmaCore
  - PlasmaComponents
  - PlasmaComponents
Line 58: Line 60:
  - kdeclarative's useful stuff: kcmOpen? more useful imports
  - 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=


=Advanced topics=
- theming
- image display
- dpi
- ColorScope


=Supporting Multiple Devices=
  - touch friendliness
  - touch friendliness
  - formfactor support
- layout considerations
  - image display
  - formfactor support (X-KDE-FormFactors)
  - translations
-
  - distribution
 
=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
  - upstreaming code

Revision as of 22:27, 18 August 2015

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