Making your mixed KDE and GNOME desktop look cool

Most people use a mix of QT/KDE and GTK+/GNOME applications on their Linux system. Because both QT and GTK+ use their own widgets (which are all GUI elements, like buttons, toolbars, menus, checkboxes, etc…) and theme engine, QT and GTK+ applications look different from each other. This is especially bad if you use KDE in Debian: in that case by default no GTK+ theme is configured, making GTK+ applications, like Firefox, look like ugly Windows 95 applications. Mandriva on the contrary does use a common graphical theme for both GTK+ and KDE applications (called Ia Ora), but it’s not easy to change the GTK+ theme if you use KDE or the QT/KDE theme if you use GNOME.

Here’s a howto for Debian and Mandriva which explains how to make your desktop look nice if you’re using a mix of KDE and GTK+. Because Ubuntu is based on Debian, this howto might also apply to Ubuntu, but I have not verified this.

Pre-requisites

I assume that you are running either Debian Squeeze (testing) or Mandriva 2010.0 or a more recent version of these distributions. For Mandriva 2010.0, you also need to have activated the Backports repositories. You can activate them in the Mandriva Control Centre – Software Management – Configure media sources.

Using GTK+ applications in KDE

If you want to use a unified look for KDE and GTK+ applications, then I recommend using the QtCurve theme. Just like Mandriva’s Ia Ora, it consists of a theme engine for KDE and another one for GTK+ which looks exactly the same.

In Mandriva you install the kde4-style-qtcurve package. If you have urpmi’s “suggests” support enabled (it is by default), then this will automatically pull in both the KDE 4 and the GTK+ theme, and also systemsettings-qt-gtk, a tool which lets you choose the GTK+ theme to use in KDE.

In Debian you need the packages qtcurve and also system-config-gtk-kde to set up the GTK+ theme.

Once you have installed all packages, you can start KDE’s System Settings and go to Appearance. In the Style page, you can choose the theme to use in KDE applications, while in GTK+ Styles and Fonts, you select the theme used by GTK+ applications. If you choose QtCurve in both, KDE and GTK+ applications will look very similar and even use the same KDE icon set.

The QtCurve theme comes with different pre-defined styles. If you don’t like the default look of QtCurve, go to System Settings – Appearance – Style, and click on the Configure… button next to the QtCurve widget style box. Under the button Options there, you find the list of predefined styles.

Of course you can also further fine-tune the theme by going to the Colors and Windows pages in System Settings – Apperance, where you can choose a colour set and window manager theme to your liking (QtCurve has a matching colour set and window manager theme, but of course you can choose something else if you want).

Using QT/KDE applications in GNOME

If you are using GNOME and want to make QT and KDE applications look like all GNOME applications without using Ia Ora, you have to run the qtconfig application. In both Mandriva and Debian, you need to have the qt4-qtconfig package installed. Then in qtconfig you select GTK+ as the GUI style to use. If you run KDE applications, you will also need to set the KDE theme to GTK+. This can be done by running
$ kwriteconfig --file kdeglobals --group General --key widgetStyle gtk
in a terminal window. Before executing this command, you will need to have the kdebase4-runtime package installed in Mandriva or kdebase-runtime in Debian.

Debian Squeeze running KDE with the QtCurve theme.
Debian Squeeze KDE 4.3 running Dolphin and Iceweasel (Firefox) 3.5 with the QtCurve theme (Shiny Glass style), Slim Glow Plasma theme and desktop effects enabled.

Updating to Mandriva 2009.1 (Cooker)

Today, the server running this website was update from Mandriva 2009.0 to 2009.1 Cooker by running urpmi –auto-select –allow-suggests with the Cooker mandriva-release package installed. All in all, the update went very smoothly. There was one file conflict in some KDE 4 related packages and I had to restart Apache 2 by hand because a httpd reload done when the awstats package was installed, failed because of the changed glibc. After the update I also removed KDE 4 because I don’t use it. Actually, it’s only extremely exceptional that I use X on this system (it’s mostly running headless), but it’s good to still have GNOME in case I have a problem with my laptop. I did not yet reboot the system; actually it is still running a 2.6.24 RC kernel with an uptime of more than one year. In the not too distant future, it’s possible this system will be migrated to a KVM virtual machine, so then it will definitely get a new kernel.

Last week-end, I also updated my parent’s system to 2009.1 Cooker. Actually, this system was still running Mandriva 2008.1 with KDE 3.5. Here I removed KDE too, and I installed GNOME. I consider KDE to be less stable than GNOME in general and I’ve heard all too often “feature X will only be done in next KDE 4.x release”, that it’s becoming annoying (e.g. just today I read that root support for System Settings was once again delayed to a later KDE release). So far, I haven’t received any complaint worth mentioning, so it seems the migration from KDE 3.5 to GNOME went very smoothly.

So if you are thinking of switching to Cooker, now is a great moment to do it. The OS is very stable, and the last little bugs are being ironed out. Personally I am not suffering from any showstopper bug anymore at this moment. The most annoying thing I’m seeing here, is that the second display is not switched off automatically if it’s disconnected while the machine is suspended and I have my serious doubts this will be fixed soon because Xorg’s bugzilla seems like a blackhole to me… Fortunately, it’s not too difficult to switch it off by hand by using GNOME’s screen resolution applet. All in all Mandriva 2009.1 will definitely be a much better release than 2009.0.

KDE 4.1 beta 2 bug status

This week-end, I installed KDE 4.0.83 also known as 4.1 beta 2. Here’s a quick round-up of issues I reported:

Looking at the bugs of previous weeks, those are fixed now:

So in total, this means 4 out of 31 bugs reported during the last two weeks are fixed now. Unfortunately, most other bugs did not see much progress at all: either they are considered as feature request for KDE 4.2 or later, either they are completely ignored, either the only progres is that the developer says it is working for him, even if I can easily reproduce these bugs. I could not find the feature “folder view widget used as desktop”, which is really needed in my opinion, so it seems indeed that this is only a KDE 4.2 feature, as was suggested in an earlier comment on this blog. Together with all other bugs/feature requests for Plasma I reported, I am still convinced that Plasma is not mature enough today to be used in a production environment by non-geeks.

KDE 4.0.82 beta testing report

This week-end I upgraded my KDE 4 test installation to KDE 4.0.82, which is now included in Mandriva Cooker. Time to follow up on the bugs I reported last week and to take a deeper look at Plasma, the new desktop concept introduced in KDE 4.

KDE 4.1 desktop with Dolphin

Plasma

The good news is that the Folder View widget, which is used to display desktop icons, has been fixed so that right clicking on a file now gives a meaningful menu. So finally you can easily trash or rename icons in the folder view widget or execute other common actions for normal files.

However, the more I use KDE 4, the more problems I see with this whole Plasma thing. Especially the Folder View widget is problematic, not only because of bugs, but especially because the whole thing works rather counterintuitively.

In other desktops (including KDE 3.5, GNOME and XFCE), icons can be placed on the whole desktop surface and those files and application launchers are saved in the ~/Desktop directory. KDE 4 takes a radically different approach. All items on the desktop are Plasma widgets. Plasma widgets can be small applications (like an RSS readers or a clock) but also file and application launchers and they do not correspond with a file in ~/Desktop. To circumvent this limitation, the folder view widget was created. It’s actually a widget which shows all the files in a certain directory. By default, a folder view widget showing the contents of the directory ~/Desktop is added to the desktop. This creates a highly confusing situation:

  • Because the contents of ~/Desktop is not shown over the whole desktop but only in a widget, files in ~/Desktop can only be shown on a limited area on the desktop.
  • All widgets get some sort of transparent overlay over the desktop wallpaper. In my opinion, this looks ugly. It creates unnecessary complication, while it is not aesthetically pleasing to my eyes, because it ruins the background too much.
  • There are now two different ways of creating items on the desktop: either by creating a separate plasma widget which represents a file or application launcher, either by putting the file or application launcher in the the ~/Desktop directory.

Because of this fundamental change and some bugs which worsen the situation, very strange things can happen:

  • Moving files or applications to or from the visible desktop folder view widget does not work at all,
  • Move a file from KDE’s program menu to the desktop, outside of the folder widget. A Plasma widget representing the program is created at the location where you dropped it, however it only shows the “broken” icon. The application name is ellipsized to three letters. At the same time the icon is also added to the folder view widget, so there are now two desktop icons…
  • I could drag and drop a Kopete avatar image file to the desktop, so that a Plasma widget was created. There was no way to copy or move this file to another location any more, so I could access it somewhere with my file browser…
  • When moving a file to the desktop, in the past this moved the file to ~/Desktop, so you could easily find the file there in all applications. Now the file is not moved anymore, but a Plasma widget linking to that file is created. That means that in applications, you can’t find the file anymore in ~/Desktop, although the file is shown on your visible desktop.

Even with the impossibility of dropping files on the folder view widget and the double icons when dropping outside the folder view widget fixed, the two different type of icons on the desktop, will be very confusing for users. At work there are users who are constantly using the desktop for saving files. If there does not come a complete rethinking of the way the desktop is implemented in KDE 4, I am planning on migrating these users to GNOME instead of KDE 4, because this Plasma thing will cause too much support interventions because ueser won’t find their documents anymore.

Half of the Plasma widgets are still not working for me. The most widgets, only show a grey area when I drop them on my desktop and I still could not add the Show Desktop widget to the panel.

Changing the size of a Plasma widget neither is very intuitive. You have to click on the resize icon which appears normally at the left upper side of the widget (but this can be the right side too, if your widget is near the left side of the screen!), and then the widget will be expanded or reduced around the centre of the widget. This is of course very annoying if your widget is already near the side of the screen, as this means you’ll probably have to move the widget too. I don’t understand why the same idiom of resizing and moving application windows was not reused.

Other problems

There has not been much progress in my bug reports of last week. Most remain unanswered or only have got a “I can’t reproduce” answer. Most promising for the moment is the KMail text encoding bug, where I was able to find some more information about the circumstances which trigger this problem. Let’s hope this helps in fixing the problem soon now. The slowliness of KMail’s message list is getting more and more annoying too. Actually already in folders with only a few hundreds message, the slowliness is noticeable. Speaking about slowliness, Konqueror’s KHTML web browsers also feels very sluggish today, compared to Firefox 2 and 3. Scrolling with the mouse scroll wheel often feels sluggish, as does the loading and rendering of complex pages. Konqueror’s KHTML on my Athlon 64 3500+ feels much slower than Epiphany/Webkit on my old PowerPC G4 laptop. It’s unfortunate that GTK+ and QT/KDE Webkit are still not really ready for production use.

List of today’s new KDE bugs:

Update 15 June 2008: two new bugs related to the Plasma desktop problems:

Testing KDE 4.1 beta 1

During the past few days, I have been testing KDE 4.1 beta on Mandriva Cooker. Actually the version I tested is even a bit more recent than KDE 4.1 beta: Cooker currently includes the KDE 4.0.81 snapshot.

Overall, the desktop is basically in a usable state. I experienced a few crashes, but generally it was not too bad. Unfortunately I could not report them all, because I don’t have the -debug packages installed (thanks to our infamous download limits in Belgium, it’s a bit difficult to keep these big packages up to date). Most problems are related to things not working correctly or not very intuitively. In my opinion this has always been the weak spot of KDE.

Here’s a list of bugs which I reported during the last few days:

A lot of this problems are not too bad, but they make the desktop loop a bit unfinished and less professional. The finishing touch is still lacking.

So apart from that, I experienced some more random crashes for which I did not find a reproducible test case yet. Sometimes a combo box in Konqueror’s web browser shows completely black when opened for the first time. Also in Konqueror, there are some refreshing issues, where you get part of the page overlapping with other parts, until you scroll the problematic part of the page out of the window and back in. Sometimes sound notifications in all KDE applications stop working completely. Some dialogs are not heigh enough by default (for example in Kopete’s new account wizard), a bug which was already reported on KDE’s bugzilla.

Plasma is still a mixed bag in KDE 4.1. The folder view, which is used for showing the normal icons on the desktop we are used to, does not have a correct right click menu for the menu icons, which makes it difficult/impossible to rename or remove icons on the desktop for example. I failed to add a “show desktop” button on the panel (nothing seems to happen when I do this). It’s deceiving that such basic features are still not working correctly now. All in all, I also have the impression that this whole Plasma thing also makes the desktop much more complex. It also adds little gain (only a few interesting gadgets mostly used by more advanced users and geeks) while it has still many drawbacks in basic features which are used by many less experienced people.

What’s also very problematic, is that there is a huge speed regression in KMail. in KMail 4.1, it is simply mail folders containing ten thousands of messages are barely usable, something which worked fine in KMail 3.5 and also works fine in Evolution. I reported this problem and apparently this is a known problem in QT 4.4’s Q3ListView class. Trolltech does not want to fix this bug anymore and so the only possible solution is to port KMail to use QTreeView, which will not happen for KDE 4.1. Unfortunately this is yet another example of things which won’t be complete for KDE 4.1.

KDE 4.1 generally feels very fast. Dolphin is a very nice addition to the desktop and while I was not really a fan of the KickOff menu earlier, it’s actually very usable. KDE finally can access file systems on encrypted LUKS devices (although it’s currently not working for me, probably because of a bug which is also affecting GNOME). and Gwenview is a very nice default picture viewer. Amarok 2 however does not seem very usable yet at this moment. I also like the new default setting of showing the text under the toolbar icons (however I don’t understand why this is not the case in Konqueror) and the integrated desktop effects in KDE are nice, while being a bit less bloated and bombastic than Compiz.

While KDE 4.1 has some very nice improvements, I think I will never install it on systems I manage for others (normal, non-technical computer users) which are now using KDE 3.5. For those kind of users, I want a (near) perfect desktop where everything is polished and things are working perfectly as intended and as would be reasonably expected by normal users. I’m afraid it will take until somewhere in the the KDE 4.2 series until this will become reality. If you are a more experienced user and don’t mind basic Plasma things not being finished and other unpolished things all over the desktop and don’t have any huge mail folders, then even already KDE 4.1 beta could be right what you need. Personally, I will continue to use GNOME 2.22.2. For now, I consider this as the most professional desktop which is capable of offering the kind of stability and smoothness most new Linux expect.

Quick look at Kubuntu 8.04 KDE 4 Remix

A few weeks ago, a researcher at work received a new HP 6910p laptop. As he’s a Kubuntu Linux user, we decided to try the new Kubuntu 8.04 KDE 4 remix to get an idea of all the new features in KDE 4.

The first impression was not very good. Already quickly after the installation, we discovered lots of bugs and missing features. It was impossible to drag and drop an application to the panel at the bottom. The battery monitor looked huge and ugly compared to kpowersave, which is what we are used too. There was no possibility to suspend to RAM and suspend to disk in the user interface. When doing it from the console, the laptop did not always come back from hibernation. Only a very few Plasma desktop applets were available, of which some seemed to be duplicates (I had the impression there were two different RSS readers), while others had funky, incomprehensible names.

We tried activating some of the window manager effects. When we chose the default OpenGL method, we were presented by a black screen. We pressed Esc, in the hope that it would return to the previous working state, but it seems that this actually accepted the setting in the (invisible) confirmation dialog: the screen remained black, and we had to remove ~/.kde4 in order to have a usable desktop again. The black screen was certainly caused by the lack of DRI for the Radeon HD mobility card in the free ATI driver. KDE should have really warned us that DRI was not working, and should immediately have disactivated the compositing effects with OpenGL When we tried the window effects with xrender, the results were less dramatic, but the effects did not display correctly.

We installed ATI’s binary fglrx driver. However, one week later, we decided to switch back to the free driver, because the kernel and/or the X server locked up very often with the binary driver.

Half of the time, when logging in into KDE 4, the window manager does not seem to be started, and panel settings are not loaded. Getting a multiple monitor setup working, was also very problematic: the KDE 4 display settings tool, did not seem to work at all (nothing happened when changing the settings, and the Apply button remained disabled). In the end, we got it to work with the xrandr command line utility, following the hints on ThinkWiki. But even then there were problems: when using a multiple monitor setup, the external monitor’s image sometimes is shifted about 5 centimeter to the right, giving a black border at the left, and a part of the desktop invisible and unreachable to the right of the external monitor. When maximizing a window on the smaller laptop screen, where the panel is active, the maximized window seemed to take the height of the higher external window, so that part of it was hidden behind the panel. Also when using the xrandr utility to switch to a different mode, the window manager often crashed.

So all in all I’m very negative about Kubuntu 8.04 KDE 4 remix. KDE 4 should never have been published as being a final release, but should have been published with a clear Technology Preview name. Even KDE 4.0.4 from the backports repository, did not help fixing the many issues we had. Distributions like Fedora 9, OpenSUSE 11 and Kubuntu are making a huge mistake by shipping this alpha quality desktop by default in a final product. Apart from that, it seems (K)ubuntu 8.04 has other problems related to the kernel and the binary ATI driver.

I’m hoping of installing a machine with KDE 4.1 beta on Mandriva Cooker this week-end, and I will try to retest some things there and report the problems to KDE’s Bugzilla. I don’t have too much hope though. Several features have again been postponed to version 4.2 (for example the multiple-line taskbar, like was the default in KDE 3), while kdepim will only gets its first release for KDE 4 now, so I expect it to still be buggy at this moment.

One week of KDE

Last week, I swtiched back from GNOME to KDE for one week. I used KDE 3.5.9, not 4.0.2 because I think that one will very probably not be mature enough for my needs.

What is nice in KDE, is that it is often much more advanced than GNOME functionality wise. For example, Kopete has much better MSN support than Pidgin: it supports sending and receiving of away/personal messages, there’s webcam support,… The KDE notifications framework is a great way to fine tune all kinds of different notifications to events, such as sounds, passive pop-up notifications, etc,… K3b is by far the best Free CD burner application, while Amarok is still unrivaled in its combination of power and GUI attractiveness and GNOME’s F-Spot does not even have half of Digikam’s features. KDE’s memory usage also felt better than GNOME. My 1 GB system seemed to swap less than in GNOME, running comparable programs.

The big problem with KDE however, still are the random crashes and various things which do not work as expected. In one week of time, I experienced two random Kontact/KMail crashes. GWenview/nspluginviewer is crashing when entering a directory with movies if you have mplayerplug-in installed. KMail sometimes gives new mail notifications for old, unread e-mail and changing the file associations for MIME types, does not always seem to work correctly, especially when using the right click – Open With menu, and selecting the option to always use the selected application in the future. KDE does not support mounting LUKS encrpyted file systems and the fact that you have to explicitly open a removable device first in Konqueror in order to have it mounted, can be annoying at times.

So I am back to GNOME again now. While it has generally less features than KDE, the features that are there, generally work very reliably, which is not always the case in KDE. Unfortunately, I am afraid that the Linux desktop will only really start taking of if there’s a desktop which can nicely combine stability, features and ease of use, which is not yet the case to my feeling. I am curious to see what KDE 4 will bring in the future. Based on Mutt’s motto, for now I dare to conclude: all desktops suck, GNOME just sucks slightly less.

Testing Mandriva 2008.1 Cooker KDE

This week-end, I tested Mandriva Cooker 2008.1 KDE. The procedure was the same as last week: a default KDE network installation via my local FTP mirror (only main) in a Virtualbox virtual machine. Here are the issues I noticed. I submitted the most important ones to Bugzilla.

  • The Virtualbox time synchronization service is started much too early. The first boot, it fails to start because Virtualbox’ dkms modules have not been built yet. Reported as Mandriva bug 36728.
  • At the first boot the DrakFirstTime wizard says no working Internet connection could be found, but after I logged in, the connection was working fine. Reported as Mandriva bug 36727.
  • The KDE menu shows the “KDE 3.5” header image twice at the top, and sometimes the Most Used Application header is also duplicated or the All Applications header is missing, making everything appear under Most Used Applications. This was already reported as Mandriva bug 36700.
  • Like is the case in GNOME, the description for applications (stored in the GenericName field) should be shown next to the name in the menus. There is currently no way for new users to know that Amarok is a music player and Kaffeine a video player, except by starting them up. I reported this already a long time ago as Mandriva bug 29900.
  • The gnome-media package is installed in a default KDE installation. This causes a More submenu in Sound & Video. I reported this already a long time ago as Mandriva bug 35293.
  • Pulseaudio’s Volume Control appears in the More submenu in KDE, while there is no native KDE alternative. It should appaer directly in Sound & Video. Reported as Mandriva bug 36726.
  • Pulseaudio Volume Control and Pulseaudio Preferences are also missing an icon the KDE menu. Reported as Mandriva bug 36714.
  • Also related to Pulseaudio and arts, I once saw the error: “Sound server fatal error: cpu overload, aborting”. This problem has been noticed by other people already on the Cooker mailing list, but there is no reproducible test case.
  • The kicker panel at the bottom is terrible in its default configuration: the height is set to small and because there are a lot of applications added to the panel and lots of applications active in the system tray by default together with the 4 virtual desktops and now also the media applet, there is way too less space left for the task list. The current configuration is only acceptible for widescreen and high resolution monitors. People have been complaining about this before (actually for 2007.0 Mandriva reverted to the normal height because of the many complaints for years about it) but I have the impression Mandriva thinks the corporate logo on the program menu button is more important than usability :-(
  • Related to the above problem, the Mandriva Control Center should not be added to the kicker panel. Reported as Mandriva bug 36725.
  • The Internet and Tools menus are too long in a default KDE installation. This can be fixed by consolidating the main Kontact applications in one menu item. I reported this already a long time ago as Mandriva bug 32666.
  • The Kdenlive video editing application is missing a GenericName description in its desktop file. Reported to the Kdenlive bug tracker bug #66.
  • While Firefox is the default browser in KDE, some URLs still open in Konqueror. Reported as Mandriva bug 36724.
  • KMail should check for new e-mail immediately when it’s started, like all other mail clients do. Reported as Mandriva bug 36716.
  • Akregator should check for new feed entries immediately after it has been started. Reported as Mandriva bug 36717.
  • The KDE ia_ora style still causes wrong rendering of the buttons in Amarok. This problem has already been reported a long time ago as Mandriva bug 33502.
  • KMilo should be split out of the kdeutils-klaptop package and should be installed by default. This will help fixing the problem that special keys on multimedia and laptop keyboard do not work in KDE. Reported as Mandriva bug 36731.
  • If Gwenview is installed, personally I think it should be preferred as the default picture viewer, above showFoto, because Gwenview makes it easier to immediately browse the other images in the same directory.
  • There is currently no easy to find network browser installed by default. Something like smb4k should be installed by default again.
  • I think the gtk-qt-engine package should be installed by default, because it offers the possibility of changing the theme used by GTK+ applications in KDE. It should not be set set to the gtk-qt-engine by default, but to use the native GTK+ ia_ora theme, like is the case now.
  • knewsticker and kdeprintfax should not be installed by default. Keeping yourself up to date with news, is better done with a true RSS reader like Akregator, and not many people have the right hardware to use kdeprintfax. The same is true for kpilot and kpalmdoc.

Next on my Cooker to-do list: quickly check out the default applications included on Mandriva One KDE and GNOME alpha2, test Mandriva’s server packages,… I can really recommend other people to do similar things: pick a subject or program which interests you, test it intensively, by preference in a new and clean Mandriva installation and file all problems you encounter in the projects upstream bugzilla or Mandriva’s bugzilla!