Plasma/DeveloperGuide: Difference between revisions

From KDE Community Wiki
No edit summary
No edit summary
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