Plasma/DeveloperGuide: Difference between revisions
< Plasma
(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= | |||
- theming | |||
- image display | |||
- dpi | |||
- ColorScope | |||
=Supporting Multiple Devices= | |||
- touch friendliness | - touch friendliness | ||
- formfactor support | - 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