Difference between revisions of "Plasma/DeveloperGuide"

Jump to: navigation, search
Line 79: Line 79:
 
  - dpi
 
  - dpi
 
  - ColorScope
 
  - ColorScope
 +
- Wayland vs. X11
  
 
=Supporting Multiple Devices=
 
=Supporting Multiple Devices=
Line 84: Line 85:
 
  - layout considerations
 
  - layout considerations
 
  - formfactor support (X-KDE-FormFactors)
 
  - formfactor support (X-KDE-FormFactors)
  -
+
  - touch-specific overrides
  
 
=Workspace Integration=
 
=Workspace Integration=

Revision as of 22:28, 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
- Wayland vs. X11

Supporting Multiple Devices

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

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.