Portugal in Fall.

The Douro
I’m in Portugal right now, visiting Nuno to work on a top-secret commercial project for a couple of days. I think I’ve chosen the right time to come here. While the weather is mostly vile back home in the Netherlands (rain, grey, overall depressing), the sun still shines brightly here in Regua, in the Douro valley. Can’t say that this way of working is a pain. While we’re really productive, having good conversations, complement each other nicely (strategic bits: me, graphics and beauty department: Nuno), we also find some time to dive into Portugese culture.
Tuesday, we’ve taken the afternoon off to drive into the Douro valley, the region where all Port wine comes from. The cropping season is just beginning here, and the vineyards are starting to change their color from green to shades of yellow, brown and red. With the mountains here, that makes for beautiful scenery. Also the smell of fermentation is slowly coming up (that same smell you might know from your last visit of a wine cellar, if you ever did that). It’s funny and amazing at the same time to read the names of the wine houses, most are actually known to me, and then you see their vineyards…
Some of you, my dear readers, might know that I’m a big fan of Port wine, so I’m also taking this opportunity to understand a bit better the circumstances of making this great product, the weather situation, geographical circumstances, but also food that goes along with traditional Portugese wine culture. Tomorrow, I’ll be going back home, and next week, Kim has claimed a couple of days to visit Leeuwarden and Groningen in the South of the Netherlands, and to spend a bit of quality time — we didn’t have much time for that lately.

Power management goodness: KDE 4.2 will suck less

Battery popup dialog
… power. As Dario has already blogged, we have a great new application in kdebase, scheduled to be released with KDE 4.2 in january. PowerDevil is actually not an application in the traditional sense. PowerDevil delivers the infrastructure for power management in KDE. This means it’ll notify you when your battery is running out, it dims your screen a bit when you’re idle to save some battery life, it switches to a lower power consumption state when you unplug the AC Adapter, it automatically suspends, hibernates or shuts down when your battery is (near) empty, that kind of stuff. For a user, it’s not a real application, but much more a service that handles some tasks for you and doesn’t get in the way.

Technically, powerdevil is designed to integrate with KDE’s platform-independant infrastructure. So while the actual tasks are very close to the hardware’s capabilities, powerdevil is not bound to Linux for example. The code is very portable, thanks to the Solid hardware abstraction. Naturally, PowerDevil uses knotify to tell the user about anything she needs to know, fine-grained control about all notifications is available in the System Settings module.

PowerDevil consists of the following parts:

  • A configuration dialogue in System Settings
  • A kded module that does the background work
  • A KRunner for command-line access to most functions
  • A Plasmoid for quick access to some popular functionality

During the last week, I’ve done some work on the plasmoid corresponding to powerdevil, and it starts to work nicely. In current KDE’s SVN trunk/, you can click on the battery plasmoid and you’ll see the dialogue in the screenshot. The idea (should be pretty clear, eh) is that you check some details on the battery status, quickly switch profile (when you want full performance on the road, for example), or re-adjust your brightness. The button at the bottom opens the PowerDevil settings module. The plasmoid still needs some polishing, but thanks to the input from Riccardo, Celeste and others, I think we’re pretty close to a smooth UI.
I’d also like to add a “do not suspend or screensave my system while I’m doing this presentation / watching this movie” button. We could implement that with a profile in powerdevil (but that wouldn’t cover the screensaver), or — and I think I prefer that option — with a “[x] Presentation Mode” checkbox. I figured, we should only prevent the system from suspending after an idle time. The system should still suspend (/ hibernate / shutdown / …) at the critical battery level. This critical level suspend should also go with some kind of count-down dialog, so you still have the opportunity to ‘… cancel that damn thing’ when you really do not want it to go away. Well, on the TODO. :)

Thanks to the awesome work of pinda, you can drag the battery’s pop-up control to the desktop and have it sit there as separate applet. There will be a button in the top-right corner in that case that moves this “extender” back into its original location (the battery applet’s popup). Neat-o.

Wacky detail, as you can see, the popup also shows the battery. I’ve loaded another (simplified) instance of the battery applet there, so that’s all animated and shiny. Thanks to the power of plasma’s dataengine, all the “getting data code” is shared between those applets anyway. UI-wise, the battery-in-panel is actually a subset of the “battery-extender-on-desktop”.

I’ve also done some performance tweaks to the runner (also in kdebase) that lets you control power management aspects. As we still haven’t implemented an easy way to find out about krunner syntax (I usually check the source code :/), here’s a quick list of things krunner + powerdevil now understand:

  • screen brightness 80 to set the brightness of your display
    (between 0 and 100)
  • suspend for various suspend methods
  • power profile to switch to a different profile
  • power governor for a list of CPU governors
  • power scheme for different schemes (note to self: find out what the difference between scheme and profile is ;-))
  • screen brightness (without number) to turn off and dim the screen

We should probably collect this knowledge on UserBase …

In other power management news, we’ve also come quite far. Various people (among them Lubos) have done an awesome job making KDE suck less power. I’ve done some tests over the last months. Around KDE 4.0, the machine caused 700 – 900 wakeups per second, idle. Most of that (but not all) was caused by an issue in xine when using certain functions in phonon. Right now, we’re pretty much there. My idle system is down to around 100 wakeups per second, most of that caused by hardware (wifi, usb, sata, …). Something the kernel developers are working on. KDE (plasma + apps) accounts for 5 wakeups a second, the first KDE app comes in as 10th. To put those numbers in perspective: 100 wakeups per second is already pretty low. Everything below it is probably highly optimized. Even in compositing mode, when you’re not moving your windows KWin doesn’t suck extra power. Good news for mobile KDE users. :)

We are out of swordfish.

… which, in Greece is served as a main dish. So at a regular dinner, that’s after the second Ouzo, which is both refreshing and the kind of fun that flushes your java-fried brain pretty thoroughly.
As Ade already blogged we’re in Greece, just south of Athens (that’s where “50” inside a red ring on a road sign means “120 km/h is a good average, you have to fiddle with your navigation system after all at the same time”, at least in taxi drivers’ minds, apparently) for a SQO-OSS sprint, but also where the waiter happily shows you the fish you’re planning to have for dinner, and even gives it a name (in my dinner’s case “Papadopoulos”) on request. But let’s try to keep the “We are out of …” titled blogs void of sensible content … (respect tradition!)
On a totally unrelated note, today’s kudos go to Nuno for providing me with green, yellow and red variations of the Blue Curl wallpaper (the default KDE 4.1 one) they’re in the slideshow plasma rotation wallpaper plugin and making this world a better place (did I mention that I don’t have a real life? ;-)).
Concluding with today’s geek survival tip seems appropriate: If your mouse cursor behaves in very weird and unpredictable ways, if you see context menues popping up seemingly randomly and if you just have a really hard time pointing at anything: *do* check your short’s pockets to make sure you didn’t tuck your wireless mouse in there. Worked for me.

New Nvidia Beta driver: KDE4 flies, but has stability issues.

Last night Nvidia released a new beta version of their binary driver. This one has some new features, where especially a couple of RENDER pathes are now hardware accelerated. I’ve installed the driver on my desktop machine on a rather clean OpenSuse 11 and a 7600GS and tweaked it to enable to new feature that aren’t on by default in this release (but are planned to switch on for the real deal). The performance problems I’ve had with switching desktop and apps are totally gone and KDE4 is flying like I’ve never seen it before. Switching tabs in Firefox is still slow, Konqi does it swiftly. I’ve set the following options in my xorg.conf. My Device section now looks like this:

Section "Device"
    Identifier     "Device[0]"
    Driver         "nvidia"
    VendorName     "NVidia"
    BoardName      "GeForec 7600GS"
    Option         "RenderAccel" "true"
    Option         "AddARGBGLXVisuals" "true"
    Option         "AllowSHMPixmaps" "0"
EndSection
    

And the Screens section:

Section "Screen"
    Identifier     "Screen[0]"
    Device         "Device[0]"
    Monitor        "Monitor[0]"
    Option "PixmapCacheSize" "20000000"
    Option "AllowSHMPixmaps" "0"
    SubSection     "Display"
        Modes      "default"
    EndSubSection
    [...]
EndSection
    

(AllowSHMPixmap probably only has to go into one of those, but it doesn’t seem to hurt as other issues are more pressing right now. When I resize a konsole window too quickly, the machine locks up. I’m not sure if this is a driver problem indeed, or a hardware problem (I’ve not used the machine much lately, and lockups happened with earlier versions of that driver as well.)
Something which I find rather strange is that I cannot run nvidia-settings:

ERROR: The control display is undefined;
please run `nvidia-settings --help` for usage information.
    

So assumably I’m getting only part of the performance improvements. I’m asked if anybody knows why, up until now to no avail.
Overall I’m very positive about this release. It finally seems that we can deliver a really swift KDE4 experience also to those users with insanely fast graphics cards (insanely fast at least for the graphics features we use in KDE). I’d suggest those that have been suffering from performance problems (and anyone else using 7xxx or above Nvidia series graphics cards to try this driver. Don’t forget to change your xorg.conf and enable the Gyphcache and PixmapPlacement hacks. I’ve also updated the techbase page with this information to make it easier to find.

Update: After some fiddling, I’ve got everything to work. The nvidia-settings issue was a local config problem, the lockups are only present when I forget to run
nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1. I’m a happy camper now. :-)

Update: There’s an even newer version of the beta driver available, try this one instead of the .68 or .69 version of the driver as it fixes a couple of problems with the beta driver and it’s just more likely to work.

that demo machine…

Wade brought me a new Mini-ITX motherboard for a demo machine we used to have in the boothbox (but which had one minor issue: No X, not even after lots of driverfoo.). So I’ve replaced the VIA Epia board with an Intel Atom one with integrated 945 graphics chip. KWin’s compositing now works nicely on this machine, it’s swift and I see no graphical glitches. The machine has a 1.6 GHz Atom CPU. One problem now is that the slot-in DVD drive doesn’t fit nicely. I can squeeze it in, but as soon as I screw the cover onto the small desktop case, the DVD doesn’t eject the disc anymore, caused by a slightly squeezed top of the drive. So I’ll need to find a way to gain a couple of millimeters of space in that box (or stick a note under the case that you need to open the case to use optical discs ;-)). Also left to do is testing multimedia. I might need to install a couple of plugins there, and I didn’t check yet if sound works at all. I’ll see if I can bring it to Froscon this coming weekend (depends if the boothbox will be there, or someone to take it to the KDE office in Frankfurt. (Drop me a note in that case :).)

Otherwise, we have a nicely working demo machine, with KDE 4.1 and exampla data on it that should also be easy to maintain for some time. I’ve installed all the interesting things from KDE4, so we don’t end up with not finding all kinds of applications and need to install them on slow fairground connections.

Yesterday, I tried to reinstall my desktop machine, a rather nice dualcore with lots of RAM and fast disks. It’s got two 17″ displays connected. Lately, Nvidia’s drivers have caused me some headache there, making it just no fun to work on that machine. So I’ve been mostly using the laptop lately. I do miss the comfort of a good desk and chair though, so I’ve hooked up the laptop with one of the TFTs. I need to try the latest nvidia beta drivers, a posting on the NVNews board sounds promising, at least. Can’t wait to try …

People on #suse have been rather helpful in getting me better acquainted with the system. I found out that’s it’s apparently quite helpful to people guiding you to tell them in how far you need guidance (“I’m an advanced linux user, but just don’t know the distro very well”) helps to avoid a couple of unnecessary questions (“did you restart X after trying the driver?”).
Ereslibre has apparently fixed the Konqueror toolbar issue, I’ve been seeing for some time, I’m rebuilding everything as we speak.

Akademy Runners.

Browser History in KRunner
On the train back home from Sint Katelijne Waver, I’ve got the kate session plugin working, which I wanted to have still during Akademy. I’ve missed that personal goal by three hours (or I pinned it down by 20 minutes, depending on how you view it). I had written part of that plugin earlier in the week

and made it basically usable short before I arrived in Nijmegen. I use kate a lot, and have several sessions, as sets of documents that I’m editing often. Now I can just type the name of the session into KRunner (that ALT+F2 thing) and hit enter to open the session — so with 5 keystrokes, I can now start hacking on plasma (and pretty much anything else I work on, it happens to be mostly plain text). The kate session runner is now in playground. The Runner actually does two things: It matches document sessions from kate, and also offers kate’s sessions as options when you just type “kate” (screenshot). This runner will probably go into kate itself, where there’s already the session applet written by Laurent.

The new Browserhistory plugin I had written earlier, currently only searches the immediate history from Konqi’s combobox. I’ve discusses this with David on the boat, and we might be able to use the full history if we expose the relevant bits in Konqueror’s API and ship this Runner with Konqueror. Right now, this runner is in kdeplasma-addons.
On the other hand, for Firefox users it should also be possible to have such a thing. If you want to add support for Firefox to this plugin (or maybe make it its own one), I’d welcome a patch :)

How to survive Akademy.

  • The beer in the small bowls is around 8% – 9%, don’t drink more than 20 of those.
  • Have a water once in a while (you can drink the tapwater in the university building)
  • Get foodtickets before you queue up for sandwiches, saves you a lot of time
  • Writing a music manager / player doesn’t save you from having mediocre taste in music
  • When hung over, don’t even try to play ping pong with Seb
  • Lunchbreaks feel a lot like the Ministry of silly Talks
  • Don’t write long blog entries when there’s a keynote coming up shortly
  • Marble.

By the way, if anyone found my badge after yesterday’s piss-off, I’ll get you a candybar in return…

Take a peek at Akademy.

Keving when taking a peek at taking a peek at Akademy
Not much time to write long reports right now (attending the Plasma Frenzy talk, heading off to the social event in a bit), still managed to get some photos up. Feel free to use those in your coverage, if you need special permission or a larger version (I’ve got them in 12MP on my box), drop me an email at sebas kde org.

Going wild with KDE 4.1 themes.


whiteish theme

Now KDE 4.1 is out, I’ve played around a bit with different themes. I’ve installed the KDE artwork package, and a couple of themes via GetHotNewStuff. KDE’s coloring system has seen quite a lot of love, as has Plasma’s theming engine. The results are quite impressive, as you can see in the screenshots.

First off, a bright setup with full-width, pretty standard panel. The Plasma theme used here is Aya, I’ve made the window background colors a bit lighter, just for more intense shininess. Those bright colors also go quite well with the “Glassified” color scheme, but I found it lacking some ‘whitespace’. The screenshot shows some integration bits as well, the context menu offers to install the package using Ubuntu’s gdebinstaller. The GTK+ theme blends in nicely with the colors I’ve set up. (Without me even tweaking it).

If you want to go out in black tonight, the Obsidian color scheme is what you want. The Plasma theme used here is Elegance. I personally don’t really like dark widget themes, although I find it OK in a konsole. There’s also a second panel on the left with some buttons and info, so the whole width of the taskbar in the bottom panel can be used for applications.


Norway theme

The Norway color scheme combined with the Aya Plasma theme. I’ve made the panel shorter, centered and a bit higher. People seem to like it that way as well, though I don’t understand what the fuzz about such panels is. It tends to create dead corners, and what’s better than slapping your mouse bottom-left and typing into kickoff? The colors are nice and warm, and some utilities such as a calculator, online dictionary and calendar can be found on the desktop.

The Wonton Soup color scheme is dark, but not quite as dark as Obsidian, it has a bit more contrast than Obsidian as well, and looks a bit softer.

The wallpapers used here should be available with KDE 4.1 install, some might be in the kdeartwork module. The tools I’ve used for theming the desktop are the Appearance module in System Settings (especially the color pages). The widget style used in those screenshots is Oxygen, the Plasma themes vary though. Aya is especially nice and flexible, as it bases its color on the widget colors you can tweak in System Settings. I still have some garbage in the systray, unfortunately. It’s not that bad all the time, on the upside :)

Thoughts on innovation on the desktop.

If you want everything handed to you on a silver platter, go take a cruise
While surfing around on Teh Intarwebs, I’ve read complaints from people that we’re doing
something radically new to the user. Some of those users seem to have problems with all
that “radically new” stuff. Honestly, I don’t think they have seen anything we *can* do
yet. With KDE 4.1, we have pretty much implemented functionality that was there, made
applications smarter, and polished the looks. Almost all of the work on the UI,
especially in Plasma has been put into recreating functionality from KDE 3.5. What is so
radically new to it? Having a shallow look, both — KDE3 and KDE 4.1 have quite a
similar interface. Panel with tasks in it, an application starter menu, a simple clock
with a calendar, a virtual desktop switcher and the systray. Just about
everything is in the same place where people using KDE 3 used to find it. And in
4.1, you’ll have icon groups on your desktop that work just like kdesktop’s
filemanager, only a bit more flexible. Overall nice improvements, but certainly
nothing radically new as a whole. That’s probably as far as it can get with
re-creating the traditional desktop. Nobody wants to create an exact copy of KDE
3 at this point anyway. If we would have wanted that, we wouldn’t have started
this journey that is KDE4.

Yet nobody wants to take away the traditional desktop from the users. That’s why
KDE 4.1 looks like it is. It’s a relatively conservative traditional desktop. If
you look at the KDE 4.0.4 implementation of openSUSE, it’s even very close to
how KDE 3.5 looks like and works. Besides that, you have enough choice to run
any traditional desktop around, whether that’d be KDE3, GNOME, XFCE, or whatever
you like. And in August, we’ll release KDE 3.5.10 for those that prefer 3.5.
See, we’re nice people, we’re not abandoning 3.5. We don’t want you to move.
It’s completely up to you. KDE 3.5 is rocksolid and works really well in many
aspects. KDE 4 has not reached its full potential yet. You will be able to
decide yourself when it’s time to move to KDE4, if ever. And if you happen to
fall in love with KDE4 applications, which is quite possible, they also run just
fine in KDE 3.

Surely the developers do need some room for innovation and trying out new
ideas. It would be strange if we kept adhering to all those traditions and
copied 3.5. And it’s why we created KDE 4 in the first place. Two years ago I
talked with a Canadian friend on the phone about KDE 4 and Plasma in particular.
The idea was back then to create a desktop that is backwards compatible with
what people are used to, yet offers new cool stuff that gets you hooked. With
KDE 4.1 we’ve probably reached this goal. A desktop that’s pretty close to 3.5’s
functionality.

Regarding those relatively small adjustments we’ve made to the desktop
shell, one could wonder what some people say when their filemanager and
applications start dealing with information, rather than with data
understanding relationships between information, people, … and works with
metadata and semantics, rather than a hierarchic filesystems. (that’s what
nepomuk might bring us at some point) What about when we start blurring the
lines between the desktop, the network and other devices. Will people start
freaking out then?

A couple of days ago, I read that 166 new SVN accounts have been created in
the last 6 months, that’s a lot of new blood. That’s 166 people that plan to
contribute to KDE codebase on a regular basis. And those are people that are
obviously attracted by the direction KDE is taking.

So what will KDE 4.2 look like? Judging by what the Plasma team has
accomplished in the last couple of months and the magic crystal ball, we might
see some mighty cool new things. I’m certainly looking forward to integrated
uiserver and Plasma notification applet, the concepts of detachable extenders
and Plasma’s ZUI integrated with KWin and generally made more polished.

I’m sure KDE 4.1 will be a blast, and if people still complain that it
doesn’t do exactly the same as 3.5, we can probably never get it right for some.
I’ve personally always found KDE a friendly bunch of people that like creating
cool and free technology together. Let’s concentrate on just that. Happy hacking!

Props to Wade for the picture.