KDE Plasma Desktop Develop Intro




                                   CS Slayer



                                   FAD 2011


1 of 18
About Me




■   Fcitx Developer
■   KDE Fans: http://www.ikde.org




2 of 18
KDE 15 years




3 of 18
Plasma

Plasma Dev Intro
   Language Support
   Vocabulary
   Easy Start
   Tools

Test tool

KDE Examples

Q & A and Showtime



 4 of 18
Plasma Desktop
Desktop Shell for PC




 5 of 18
Plasma Netbook
Desktop Shell Designed for Netbook




 6 of 18
Plasma Active

New Tablet Interface




 7 of 18
Language Support



■   QML
■   Javascript
■   C++
■   Python
■   Ruby




8 of 18
Language Support



Current Percentage of Language Usage:
■   Python 46%
■   C++ 44%
■   QML 6%
■   Javascript 4%
Ref: http://blogs.kde.org/node/4469




 9 of 18
Vocabulary



■   Widget
■   Containment
■   Date Engine
■   Runner
■   Wallpaper




10 of 18
Create Your First Applet
Use Desktop file metadata.desktop to describe metadata of
widget.
 [Desktop Entry]
Name=ClockWidget
Type=Service
X-KDE-PluginInfo-Author=saber
X-KDE-PluginInfo-Email=saber@none.org
X-KDE-PluginInfo-License=GPL
X-KDE-PluginInfo-Name=clockwidget
X-KDE-PluginInfo-Version=1
X-KDE-ServiceTypes=Plasma/Applet
X-Plasma-API=declarativeappletscript
X-Plasma-DefaultSize=200,100
X-Plasma-MainScript=code/clockwidget.qml
11 of 18
Use Data Engine for data visualization




What's Data Engine?
■   Provide Data for Plasma Widget
Data can be obtained from hardware, network, filesystem, DBus,
or whatever you want.




12 of 18
Data Engine




Why DataEngine?
■   Share data and code
■   Make data obtain process trivial
■   Communicate with data source




13 of 18
Plasmate




■   Git Integration
■   Live Preview
■   Online Upload
■   Online Import




14 of 18
Test tool




■   plasmoidviewer
■   plasmaengineexplorer




15 of 18
KDE Examples




https://projects.kde.org/projects/kde/kdeexamples/




16 of 18
Q & A and Showtime




Any questions?




17 of 18
Thank you!




18 of 18

KDE Plasma Develop Intro