<<

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 ++

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 , and SuperKaramba Resolution Independant interface for KDE Desktop Supports Native, 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 - 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 file into your new folder Copy the findup program into your $PATH Modify Your cd function Create a Source Folder Checkout 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 file into your new folder Copy the findup 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 file into your new folder Copy the findup program into your $PATH Modify Your cd function Create a Source Folder Checkout kde modules Build Them

The Command mkdir $HOME/bin; cp findup $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 file into your new folder Copy the findup 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 file into your new folder Copy the findup 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 file into your new folder Copy the findup 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 file into your new folder Copy the findup program into your $PATH Modify Your cd function Create a Source Folder Checkout kde modules Build Them

The Command 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 file into your new folder Copy the findup 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 file 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 file

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

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 file describes the plasmoid’s 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 file

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 -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 [email protected] Tejas Dinkar [email protected]

Gopala And Tejas — How To Create a Plasmoid 18/18