Icon Time: High Definition Oxygen and Nuvola

High Definition Oxygen

Without any doubt Tokamak II was a great meeting, as it allowed me to work on several things. Two of these things are High Definition Oxygen icons and Nuvola icons.

High Definition Oxygen is a folder that contains 256×256 icons for mimetypes and places and the really good news is that now Oxygen iconset uses less space on disk than before: we don’t install SVGs anymore (so we can save about 60 mb) and we can use a piece of that free space for the new high definition icons that are incredibly small (they requires only a couple of mb).

Something that I really liked about Oxygen is that it is already ready to render at big sizes (Oxygen artists have done a great work).

I have also great news for Nuvola icon set fans: Nuvola is back and it will be part of KDE 4.3 kdeartwork module 🙂
During tokamak I spent several hours renaming and fixing Nuvola icon names and now it can be used also on KDE 4 🙂

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