Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

How To Create a Plasmoid


Gopala And Tejas

May 2nd 2009

Gopala And Tejas How To Create a Plasmoid

1/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Outline

1 Introducing KDE4 and Plasma 2 Setting Up a Build Environment 3 Building a Simple Plasmoid

Gopala And Tejas How To Create a Plasmoid

2/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Outline

1 Introducing KDE4 and Plasma

The Pillars of KDE4 What is Plasma? Some Important Plasma Concepts Plasma Bindings, not just C++
2 Setting Up a Build Environment 3 Building a Simple Plasmoid

Gopala And Tejas How To Create a Plasmoid

3/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

The Pillars of KDE4

Gopala And Tejas How To Create a Plasmoid

4/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

What is Plasma?

Plasma Features Replace Kicker, KDesktop shell, and SuperKaramba Resolution Independant interface for KDE Desktop Supports Native, Google Gadgets, SuperKaramba, QEdje, Mac OS X Dashboard and Web Widgets Hundreds of plasmoids for every imaginable need Lots of Eyecandy as well The Golden Cashew :P

Gopala And Tejas How To Create a Plasmoid

5/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Some Important Plasma Concepts

Plasma Principles Separate Data Engines and Visualizations Extensive use of SVG Plasmoids are plasma applets Containments are applets containing other applets Plasmoids are aware of their size

Gopala And Tejas How To Create a Plasmoid

6/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Plasma Bindings, not just C++

Plasma, Also Available in: C++ (the one and only) Javascript (ECMAScript) Ruby (via QtRuby) Python (via PyQt) C# (via Qyoto) Java (in progress, via QtJambi)

Gopala And Tejas How To Create a Plasmoid

7/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Outline

1 Introducing KDE4 and Plasma 2 Setting Up a Build Environment

Via Distro Packages Building From Source


3 Building a Simple Plasmoid

Gopala And Tejas How To Create a Plasmoid

8/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Via Distro Packages

Most Distros Provide Development Packages Fedora - Install kdelibs-devel via yum OpenSuSE - Install kdebase4-workspace-devel via YaST *buntu - Install kdelibs5-dev and libplasma-dev via apt Debian - Install kdelibs5-dev via apt Gentoo - Just install KDE via emerge LFS - You are on your own

Gopala And Tejas How To Create a Plasmoid

9/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building From Source


Steps to a Productive Build Create a folder for KDE Development Edit and Copy the .my-setup le into your new folder Copy the ndup program into your $PATH Modify Your cd function Create a Source Folder Checkout kde modules Build Them The Command mkdir $HOME/kde
Gopala And Tejas How To Create a Plasmoid 10/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building From Source


Steps to a Productive Build Create a folder for KDE Development Edit and Copy the .my-setup le into your new folder Copy the ndup program into your $PATH Modify Your cd function Create a Source Folder Checkout kde modules Build Them The Command vi .my-setup; cp .my-setup $HOME/kde
Gopala And Tejas How To Create a Plasmoid 10/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building From Source


Steps to a Productive Build Create a folder for KDE Development Edit and Copy the .my-setup le into your new folder Copy the ndup program into your $PATH Modify Your cd function Create a Source Folder Checkout kde modules Build Them The Command mkdir $HOME/bin; cp ndup $HOME/bin
Gopala And Tejas How To Create a Plasmoid 10/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building From Source


Steps to a Productive Build Create a folder for KDE Development Edit and Copy the .my-setup le into your new folder Copy the ndup program into your $PATH Modify Your cd function Create a Source Folder Checkout kde modules Build Them The Command vi .bashrc
Gopala And Tejas How To Create a Plasmoid 10/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building From Source


Steps to a Productive Build Create a folder for KDE Development Edit and Copy the .my-setup le into your new folder Copy the ndup program into your $PATH Modify Your cd function Create a Source Folder Checkout kde modules Build Them The Command mkdir $HOME/kde/src
Gopala And Tejas How To Create a Plasmoid 10/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building From Source


Steps to a Productive Build Create a folder for KDE Development Edit and Copy the .my-setup le into your new folder Copy the ndup program into your $PATH Modify Your cd function Create a Source Folder Checkout kde modules Build Them The Command svn checkout svn://anonsvn.kde.org/home/kde/trunk/module
Gopala And Tejas How To Create a Plasmoid 10/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building From Source


Steps to a Productive Build Create a folder for KDE Development Edit and Copy the .my-setup le into your new folder Copy the ndup program into your $PATH Modify Your cd function Create a Source Folder Checkout kde modules Build Them The Command git svn clone svn://anonsvn.kde.org/home/kde/trunk/module -r number
Gopala And Tejas How To Create a Plasmoid 10/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building From Source


Steps to a Productive Build Create a folder for KDE Development Edit and Copy the .my-setup le into your new folder Copy the ndup program into your $PATH Modify Your cd function Create a Source Folder Checkout kde modules Build Them The Command cs module && cmakekde
Gopala And Tejas How To Create a Plasmoid 10/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Outline

1 Introducing KDE4 and Plasma 2 Setting Up a Build Environment 3 Building a Simple Plasmoid

The .desktop le The Header File The C++ Work File The CMakeLists.txt Building and Running

Gopala And Tejas How To Create a Plasmoid

11/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

The .desktop le

Every Plasmoid needs a .desktop le to tell plasma how it should be started and what name it carries. KBuildSycoca is used to read all the desktop les

Gopala And Tejas How To Create a Plasmoid

12/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

The Header File

The Header le describes the plasmoids interfaces. Notice we inherit from Plasma::Applet

Gopala And Tejas How To Create a Plasmoid

13/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

The C++ Work File

Here we implement the functions we declared in the header le

Gopala And Tejas How To Create a Plasmoid

14/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

The CMakeLists.txt

CMake is a framework for building projects.

Gopala And Tejas How To Create a Plasmoid

15/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building and Running


Steps to a working plasmoid Create a build folder Run CMake Build The Plasmoid Install The Plasmoid Test Using plasmoidviewer Test Using plasma The Command mkdir build && cd build

Gopala And Tejas How To Create a Plasmoid

16/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building and Running


Steps to a working plasmoid Create a build folder Run CMake Build The Plasmoid Install The Plasmoid Test Using plasmoidviewer Test Using plasma The Command cmake -DCMAKE INSTALL PATH=INSTALL PATH /path/to/src

Gopala And Tejas How To Create a Plasmoid

16/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building and Running


Steps to a working plasmoid Create a build folder Run CMake Build The Plasmoid Install The Plasmoid Test Using plasmoidviewer Test Using plasma The Command make

Gopala And Tejas How To Create a Plasmoid

16/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building and Running


Steps to a working plasmoid Create a build folder Run CMake Build The Plasmoid Install The Plasmoid Test Using plasmoidviewer Test Using plasma The Command make install

Gopala And Tejas How To Create a Plasmoid

16/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building and Running


Steps to a working plasmoid Create a build folder Run CMake Build The Plasmoid Install The Plasmoid Test Using plasmoidviewer Test Using plasma The Command plasmoidviewer plasma applet tutorial1

Gopala And Tejas How To Create a Plasmoid

16/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Building and Running


Steps to a working plasmoid Create a build folder Run CMake Build The Plasmoid Install The Plasmoid Test Using plasmoidviewer Test Using plasma The Command killall plasma && plasma

Gopala And Tejas How To Create a Plasmoid

16/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Resources
Online Links

Slides for this Talk http://gja.in/pub/mukti-9.05-plasmoid.pdf KDE Techbase http://techbase.kde.org Increased Productivity in KDE4 with Scripts http://tinyurl.com/kde-build-scripts The Plasma Home Page http://plasma.kde.org Plasmoid Tutorials http://tinyurl.com/kde-plasmoid-cpp http://tinyurl.com/kde-plasmoid-python http://tinyurl.com/plasma-all
Gopala And Tejas How To Create a Plasmoid 17/18

Introducing KDE4 and Plasma Setting Up a Build Environment Building a Simple Plasmoid

Questions ?

Gopala Krishna
krishna.ggk@gmail.com

Tejas Dinkar
tejas@gja.in
Gopala And Tejas How To Create a Plasmoid 18/18

You might also like