10 rules for a plasma widgets developer

  1. Don’t call updateGeometry() during a size constraintsEvent and don’t call resize.
    If you want to keep the same aspect ratio you may be interested in Applet::setAspectRatioMode( ).
  2. If you want to write a new clock widget, you should inherit from libplasmaclock ClockApplet.
  3. Don’t do custom things: use default plasma methods and widgets when possible.
    Some useful methods are: Applet::setBusy( ) if your applet is busy, Applet::setConfigurationRequired( ) if user needs to configure the widget, etc…
    Some useful widgets are: Plasma::CheckBox, Plasma::ComboBox, Plasma::LineEdit, Plasma::PushButton, Plasma::RadioButton, etc…
  4. Don’t reimplement Applet::showConfigurationInterface, reimplement Applet::createConfigurationInterface instead.

    void MyApplet:createConfigurationInterface(KConfigDialog *parent)
    QWidget *widget = new QWidget();
    ui.setupUi(widget); //ui is your configuration interface
    parent->addPage(widget, i18n("General"), icon());
    connect(parent, SIGNAL(applyClicked()), this, SLOT(configAccepted()));
    connect(parent, SIGNAL(okClicked()), this, SLOT(configAccepted()));
  5. Use Plasma::Animator and fast animations (not slower than 150 milliseconds).
  6. Use a standard background when possible.
  7. Avoid installing custom svg graphics when possible.
  8. Load graphics using Plasma::Svg.
  9. Don’t forget that the theme may change while your widget is running.
  10. paintInterface() might be called before init().

Camp KDE (Day 6)

Camp KDE (Day 5)

Camp KDE (Day 4)

Camp KDE (Day 3)

Thanks to Adrian and to The French Guy for making cookies 😀

Camp KDE :D

Camp KDE is great! 😀

changes in kdeartwork

Everything in KDE 4 looks fresh and cool but kdeartwork is the same since KDE 3 so recently I’ve started to work on a kdeartwork update.

As first step I’ve done 3 big changes to kdeartwork:

  • Moved desktoptheme to kdeartwork.
  • Some kdebase wallpapers have been moved to kdeartwork (kdebase doesn’t contain more than 15 wallpapers).
  • Some old artworks have been killed (or moved to a different location).

Actually I’m still working on kdeartwork clean up, but soon as possible, when I finish this step, I’ll blog more about the future of kdeartwork.

I'm Going To Camp KDE

New calendar widget moved to kdereview

Plasma::Calendar Widget

Calendar Plasmoid

Finally today I moved the new calendar widget to kdereview.
This new widget is based on a nuno‘s mockup and it will be usable by any plasma application that needs a calendar (it will be part of libplasma).
One of my aims is to write something that is highly customizable so it will be possible to do cool things like integration with akonadi.
I’m planning to continue to work on it and to add some new features like ToolTip support so if you have any ideas, please email me 😉

new kickoff mockup

Friday night I was playing with inkscape and I tried to do a kickoff mockup because I don’t like kickoff’s current look (kickoff is a white and flat rectangle that doesn’t fit really well in a black plasma theme). So, I worked all night and at 05:30 AM I finished this mockup:

(don’t forget that I’m not an artist 😉 )

My idea essentially is to use user’s current plasma theme, so If the user uses the default theme he will have a black kickoff otherwise if the user uses fluffy bunny theme, user will have a fluffy bunny themed kickoff. 😀

Today I started to work on it: I created a new branch called ckickoff, I removed some lines of code and I switched from Plasma::Applet to Plasma::PopupApplet.
PopupApplet allows (with a few lines of code) for showing an icon when the plasmoid is on the panel, and showing the whole plasmoid when it’s on the desktop, so now if you place kickoff plasmoid on the desktop you see kickoff launcher and not a K icon.

For now I have nothing more to say except that I’m going to Akademy:
I\'m going to Akademy 2008


Hi *
This is my first post, so I’ll spend few words to talk about me.
My name is Davide Bettio (Davide not David 😉 ), I’m 19 years old and I live in Padova (in the north of Italy, near Venice).
I’m a computer science student and I’ve just finished the 4th year of high school.
In my free time (when I’m not studying) I do many things like developing KDE (currently I’m mainly working on Plasma-related things).
I also waste a lot of time on IRC and I’m always connected to freenode: you can find me on some kde channels.

For now I have nothing more to say except that I’m going to Akademy:
I\'m going to Akademy 2008