Difference between revisions of "Plasma/DeveloperGuide"

Jump to: navigation, search
(draft structure for new developer guide)
 
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,
  
=Advanced topics=
+
=Development Environment Setup=
  
  - touch friendliness
+
=Tools=
  - formfactor support
+
  - editor
 +
- commandline
 +
- plasmapkg2
 +
- plasmoidviewer
 +
- plasmathemething
 +
- cuttlefish
 +
-
 +
 
 +
=Display and Rendering=
 +
 
 +
  - theming
 
  - image display
 
  - image display
  - translations
+
  - dpi
  - distribution
+
  - 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
 
  - 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

Content is available under Creative Commons License SA 4.0 unless otherwise noted.