Creating your own GNOME session based on cairo-dock and Compiz

Personally I absolutely do not like the gnome-shell in GNOME 3. I actually even hate it: it is slow, messy and cumbersome to use and I have the feeling that developers are not listening to criticism. Obvious and trivial design bugs which are well known, are totally ignored (bug 662738 is an example).

For that reason, I went looking for an alternative desktop. KDE is way too bloated for a netbook with 1 GB of RAM, while XFCE is not as polished as a traditional GNOME 2.32 desktop. The best alternative I could find out right now, was to just replace the GNOME Shell by a custom panel or dock implementation. In the end I chose cairo-dock: it is written in C, so it is probably not as memory hungry as AWN (which uses Python) and Docky (which uses Mono, which I also consider as a possible patent minefield). Cairo-dock is also actively maintained. I paired cairo-dock with the compiz window manager to get some nicely looking desktop.
Continue reading “Creating your own GNOME session based on cairo-dock and Compiz”

GNOME Shell moving forward

Some news about GNOME 3 and GNOME Shell:

  • The minimize and maximize window decoration buttons are now removed. It is estimated that these buttons are not useful actually, and users should be using Alt-Tab, the dock or different workspaces to switch between different applications, and maximize windows by double clicking on the title bar. As this will also make the desktop more difficult to access, I guess this also means that there are no plans to re-implement desktop icons.
  • The problem with the ellipsis of long application names has been fixed by enlarging the icons in the application browser.
  • On the #gnome-shell IRC channel there was a discussion earlier today about the implementation of shutdown in GNOME Shell. Several developers were in favour of just suspending to RAM by default and not showing a real shut down button by default. After 30 minutes, the system would wake up again and suspend to disk. Several developers did not seem to care about the risks of waking up a laptop while it’s being transported in a bag. Or about the fact suspend is not working properly on all systems.

I am extremely disappointed by these three things. When writing my previous GNOME Shell article, I still had some hopes that things would improve for the better, but I am giving up all hope: the GNOME Shell in GNOME 3.0 will definitely not be something I will like to use. I think it is also unacceptable that such important, drastic changes are made just before or even after the UI freeze. I have the feeling that GNOME Shell is purely the work of a few developers and designers who made some radical changes without any feedback or testing by real end users. The user community seems to be completely forgotten in the GNOME 3.0 development process. As only a few distributions are shipping live CDs, which are often rather unstable and rarely have a completely up to date GNOME Shell, only a very small amount of users is actually able to test and give feedback.

What will I do now? Skip GNOME 3.0 and hope that GNOME 3.2 will be better, once developers have taken into account users reactions? But that means that I will not benefit for more than another 6 months of any improvements to many of my preferred applications. Or use GNOME 3.0 with the old GNOME Panels (but will that give back my desktop icons)? Or shall I finally switch to KDE? Time will tell.

Update: the changes I described here can be seen in screenshots on Webupd8.

Is Unity a better alternative to the GNOME Shell?

After my disappointment with the current GNOME 3.0 development version with GNOME Shell, I thought it would be interesting to compare it with Ubuntu’s Unity. Ubuntu has just published a new alpha version of what will become Ubuntu 11.04, so I used that for a quick test.

On the positive side:

  • On the dock on the left side there is a button which opens the workspace switcher which gives a nice overview of your virtual desktops and their contents. The workspace switcher is easy to find and it looks awesome: this might be exactly what is needed to make more end users finally get to use virtual desktops.
  • The list of Favourite folders is easily accessible by one of the buttons on the dock, as are all mounted volumes and the Thrash, unlike in GNOME Shell. Ubuntu’s desktop also supports desktop icons.
  • Integration of Banshee in the volume mixer applet is nice: the pop-up in the volume mixer will show the playing song and has some buttons to control playback in Banshee. I do not know whether this integration also works for other audio players though.

The negative:

  • Unity uses uses a development version of Compiz which is very unstable. The first time I booted the Ubuntu live CD, Compiz crashed within one minute. In my next test sessions Compiz crashed again different times. Currently GNOME Shell and Mutter are definitely much more stable than Unity and Compiz.
  • Just like GNOME Shell there is no way to show the date in panel, only the time is displayed.
  • When clicking on the Ubuntu icon in the panel, some kind of empty window pops up. Maybe this ought to be the application launcher, but it is clearly not working.
  • The application launcher can be opened from a button on the dock at the left side of the screen. However that button is rather near the bottom of the dock, above the mounted volumes icons. The Application button should be much more easy to find without having to scan all icons on the dock. Maybe this will get fixed when/if the Ubuntu icon launches the application browser.
  • Applications are not organized in categories. Instead I got a huge table of all applications and preferences tools laid out horizontally and vertically. The Scrollbar in the application browser does not seem to be working so I could not access applications which were out of the view.
  • In the application browser, there is something which looks like a text entry field which permits you to search for an application, but I could not type in it.
  • After using the application browser for a few times, it just shows as an empty window, just like the Ubuntu icon. When this happens, you have no possibility to start applications anymore.
  • When moving the mouse over an icon in the application launcher, a white border is drawn around the icon. The border is always a fixed size: if the application name is too long and wrapped over two lines, the border will cover part of the text.
  • Just like in GNOME Shell, it looks like I cannot add custom applets and application launchers in the panel.
  • The panel is used as a global menu bar for applications but not all applications support it: for example Firefox and LibreOffice do not use it. The menu is only shown when moving the mouse over the panel. If my mouse cursor is in an application itself, there is no trace of the menu, so people might be wondering where it is. I do not know whether this is by design or whether it is simply a bug. Personally I am also not convinced that a global menu is nice: when applications are not maximized, you  need to move your mouse back and forward between the application window and the top of the screen, which is cumbersome.
  • Mounted drives are shown in the dock and on the desktop. This looks a bit superfluous at first sight and especially when having lots of partitions on an external disk and lots of applications opened, the dock might become too small to show all icons.
  • It is still GNOME 2.32. You do not have the nice windowless pop-up dialogs from GTK+3, nor the nice date and time applet from GNOME Shell or the chat integration in the notifications. Users will not benefit from the improvements included in GNOME 3 applications.

While GNOME Shell looked like an unpolished and cumbersome to use product, Unity feels like a completely broken proof of concept. In its current state it is even impossible to do anything useful with it because even launching applications is almost impossible.

It is also questionable how Unity will remain usable in the future after Ubuntu 11.04 Natty is out: will they port it to GTK+ 3? And what will they do about the desktop icons, a feature which is currently still provided by Nautilus 2.32, but not present anymore in 3.0?

Canonical has decided to choose Unity as default for its next Ubuntu version because they thought GNOME Shell was not going into the right direction. However, Unity is currently even a much bigger failure than GNOME Shell. I have the feeling that Canonical’s decision was bad for both GNOME and Ubuntu: now we have two different unfinished, unpolished and in the case of Unity even totally broken desktop shells. I am wondering what would be the current state of GNOME Shell if Canonical had decided to dedicate its resources to GNOME Shell instead of Unity… I am also wondering how users will react to a desktop with Unity by default. Will Ubuntu derivatives with a different default desktop, like Mint, take over Ubuntu as the most popular distribution for desktops? Or will GNOME get into a similar crisis like KDE when 4.0 was out and will many users start moving to other desktops, either temporarily or permanently? Or will they just continue using standard GNOME 2.x until the dust settles? I do not have any answer to these questions, but for sure we are arriving at an important crossroads in the history of GNOME.

For screenshots and more information about Ubuntu 11.04 Natty and Unity, I refer to this Tech Drive-in article.

GNOME 3.0: Making the same mistakes as KDE 4.0?

Yesterday Fedora held a GNOME 3 test day. In order to facilitate testing, they published a Rawhide live CD containing the latest builds of GNOME 3. This is a great opportunity to test the latest GNOME-shell and other new things without having to upgrade your system to unstable alpha stuff. I tried it out on my laptop with Intel graphics chipset.

After a quick test, I am quite disappointed. Just like KDE 4, GNOME 3 tries to explore some new innovative desktop stuff, but just like KDE 4 in its first versions, it feels extremely unpolished and very unfinished, resulting in a rather cumbersome experience.

On the positive side:

  • The desktop feels pretty fast. Starting up applications, using the search function to find applications and the graphical desktop effects are all pretty smooth.
  • The black GNOME shell interface looks nice with subtle but pleasing effects like drop shadows and transparency.
  • There is a nice Expose effect when clicking on activities, nicely showing you all windows running on your system.
  • I have not tried this myself, but it looks like instant messaging is nicely integrated into the desktop. The user menu in the top panel makes it easy to set your status, and you can chat directly from the notifications on the desktop.
  • Just like chatting is nicely integrated,  the user’s agenda is also nicely integrated on the desktop. Just click on the time and see a list of all your appointments at a glance. It looks much nicer than GNOME 2’s calendar view.
  • The fact that some application dialogs now appear to be popping out of the main window and do not have their own window decoration looks nice and avoids clutter. You can see this in the About dialogs in GTK+ applications.

On the negative side:

  • I have the feeling that a lot of space is wasted in the top bar. By default it contains the Activities menu (which is not really a menu and not really needed, because you can open it by just moving your mouse to the top left of your screen), the time, and a few applets (NetworkManager, Accessibility, Volume control, Battery monitor and a user menu allowing to set some personal preferences and instant messaging status. There does not seem to be a way to add application launchers, or any other custom applets.
  • When an application is launched, the name of the application appears in the panel, together with its icon. However, it is a partial version of the large icon, it looks a bit like it is zoomed in. Because the icon is cropped, it is very hard to recognize and looks rather ugly. I fail to understand why they do not simply show the scaled icon.
  • The application launcher is not handy to use. First you have to move your mouse to the top left of the screen to open Activities, then you have to click on Applications, and then you have to move your mouse to the right of your screen to select an application category and move again back to the center of the screen to launch the requested application. This way, launching an application requires much more mouse movements and clicks than simply navigating in the Applications menu in GNOME 2. Moving the search box and application category list to the left, would already be a huge improvement.
  • The list of applications is shown as a table of application icons, laid out both horizontally and vertically. Having to scan the list in two different directions is cumbersome compared to scanning a vertical application menu like in GNOME 2.
  • When opening the application list, by default it shows all applications in alphabetical order. Even if you want to keep this system, I think it would be much nicer to show them like in SUSE’s GNOME appliation launcher, where all icons are still organized by category and separated by the category headers.
  • Under the icons in the application launcher, the name of the application is shown. Or at least a part of the name: most names are shortened by an ellipsis (…) and this is very ugly. For example Transmission becomes “Transmiss…”, Remote Desktop Viewer becomes “Remote…”. There are also no tooltips showing the full name when hovering your mouse over them. LibreOffice is not included on this live CD, but if they are installed will both LibreOffice Writer and LibreOffice Calc become “Libreoffice…” then? It is clear that not seeing the full names at a glance is terrible for finding applications.
  • There does not seem to be support for desktop icons. The ~/Desktop folder contains some .desktop files, but they are not shown on the desktop. Left or right clicking on the desktop does not do anything. This reminds me of KDE 4.0, which also had broken support for desktop icons which was only fixed completely in later KDE versions when the Folder View widget came out.
  • There is no easy way to open your home directory, a bookmarked directory or a removable drive in a file browser except by opening the application launcher and finding the file manager. No more handy Places menu like in GNOME 2, or desktop icons for your home folder and removable disks.
  • There is no way to move the “dock” to another screen border. Personally I would prefer having it at the bottom side of my screen inside of at the left side, but I could not find a way to change that.
  • I do not like the default GTK+ theme too much. The big white scrollbars and high white tab pages look pretty hard to my eyes, and the grey backgrounded toolbars look a bit weird, especially the sunken View combobox  in Nautilus’ toolbar (it has a white line underneath). The default icon theme also needs an update, because it looks old-fashioned to me. I could not find a way to change the themes. There was no Appearance configuration tool in System Settings.
  • The day of the month and month are not shown by default in the date in the top panel. In the Date and Time Settings I could not find a way to show the complete date.
  • Similar to the above problem, it looks like we will not be able to easily configure what will happen when the laptop lid is closed. I have always preferred GNOME’s nice default settings over KDE’s settings clutter , but now I have the feeling that they are going much too far in GNOME 3.

A lot of my criticism seems pretty fundamental and as th final version of GNOME 3.0 is currently scheduled in 2 months (4th of april), it is sure that many of these issues will not be resolved. Just like KDE 4.0, there is definitely potential here. However in its current state, I consider GNOME 3.0 still as a playground for developers and unsuitable for use except by early adopters. Especially the fact that basic features have been removed (desktop icons) and basic tasks have become harder (launching applications) is really unforgivable.

Another interesting read is this quick screenshot based review by a QT developer. Also check out GNOME 3’s official website.

Update: GNOME 3 developer hadess responded to some frequently reported problems during the test day. Some of the problems I have written about here, are currently being worked on.

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.

Braindead error message of the day

Today this popped up on my GNOME desktop after logging in:

Unable to mount 50.0 GB Encrypted Data

DBus error org.freedesktop.DBus.Error.NoReply: Did not receive a reply.
Possible causes include: the remote application did not send a reply, the
message bus security policy blocked the reply, the reply timeout expired, or
the network connection was broken.

Filed as GNOME bug #552985.

Testing Mandriva 2008.1 Cooker GNOME

This week-end, I installed Mandriva Cooker in a Virtualbox virtual machine. I did a default GNOME installation, and noted and reported all problems I found, in the hope of improving the quality for when a new alpha or beta version comes out. I did a network installation from my local Cooker mirror (which only has the main repository, no contrib). Here’s a quick summary of the problems I found:

  • There are currently problems when installing the / partition on a logical volume using LVM. The problem is known and being worked on. As a work-around, I installed using standard partitions
  • The keyboard layout selection dialog is very ugly and confusing, especially when the “More” part is opened. Reported as Mandriva bug #36521.
  • When I set the timezone to Europe/Brussels, in the next screen, the local time and UTC time were equal, which is impossible in this timezone. Reported as Mandriva bug #36522
  • After the installation, X did not want to start. This was caused by a problem in the Virtualbox display and mouse drivers. This bug was already reported as Mandriva bug #35085.
  • When X failed to start, the dialog program was used to show a message informing me that X could not be started. While this message was visible, it seemed like dialog was using 100% of CPU time. I need to verify if I can reproduce this bug.
  • After running urpmi –auto-select, the dkms modules could not be build anymore. My kernel was updated, but because Mandriva’s installer did not select kernel-desktop-devel, the kernel-devel package was not updated too. Reported as Mandriva bug #36524
  • Mandriva’s update applet mdkonline is way too verbose: when it is checking for updates, it shows a notification bubble stating: “Warning – Please wait, checking for updates”, and if there are no updates available it way say: “Warning – Your system is up to date”. The warning word gives the (wrong) impression something is wrong. And actually these messages don’t really interest me. I just want to be notified if something if wrong or if there are any updates available. Personally, I think this applet should even be completely hidden if there’s nothing to say, so it does not clutter my notification bar. Reported as Mandriva bug #36526
  • The Firefox GNOME theme was not installed by default. The problem is that the main repository only contains an outdated version of the theme, which cannot be installed anymore with Mandriva’s Firefox 2.0.0.11 packages. Contrib contains the right version. Reported as Mandriva bug #36513
  • Personally I think subpixel font smoothing should be enabled by default because most people use TFT monitors nowadays and without this setting enabled, fonts look too blurry. Even on an old CRT monitor, I found subpixel font smoothing very acceptable and nice to use, so personally I don’t see any reason not to enable this by default.
  • The GNOME terminal was unusable: it appeared almost completely transparent and unreadable, including its menus and title bar. Disabling Metacity’s compositing fixed this problem. And it fixed also a problem where the screen would not refresh at all anymore after coming back from screen blanking. When disabling compositing via gconf-editor, the whole GNOME session hung. Reported as Mandriva bug #36527
  • In GNOME’s menu System – Preferences – Language and location the Region combobox was completely empty. It seems like this configuration tools also duplicates the functionality found in draklocale (run as user). One of the two should probably be hidden then.
  • The eog image viewer was not installed by default. Because of this, images would open in The Gimp, which is not very handy for quickly viewing an image. Reported as Mandriva bug #36520
  • When the system starts up, a message is printed: “Warning: Alsa driver is already running”. I guess the alsa or sound service tries to load the module which was already loaded by udev coldplugging before. Actually, years ago, it was said that those two sound services would be merged. This should really be done now, it is confusing because it is not clear what’s the difference between these two services.
  • OpenOffice.org requires the hsqldb RPM package. This package installs a service hsqldb, which does not even start without Java JVM. As far as I know, OpenOffice.org does not need this service at all, but just uses the hsqldb Java libraries. The hsqldb package should be splitted then, so that it’s not necessary to install and activate an extra service, which does not even start at all. Reported as Mandriva bug #36472 and Mandriva bug #36427
  • Because the openoffice.org-style-tango package was not installed while openoffice.org-style-gnome was, OpenOffice.org defaulted to the default Sun icon theme in large size, which is very ugly. Reported as Mandriva bug #36519
  • Personally I would prefer Beagle not to index aggressively when the screensaver is running. I find it very annoying that as soon as my screensaver starts, I hear my hard drive thrashing the whole time.
  • Personally I find Epiphany‘s minimum font size of 7 much too small. Setting it to 8 gave me comparable and much more easily readable fonts as in Firefox, while not causing any negative effects on web lay-outs (such as unwanted text overflow).
  • When starting Rhythmbox for the first time and opening the Edit – Preferences menu item, an error pops up that the Podcasts directory does not exist. Reported already as Mandriva bug #29908 and now also as GNOME bug #507541.
  • Mandriva includes some nice documentation, but none of it is installed by default. Reported as Mandriva bug #36518.
  • gstraemer-0.10-pulse was not installed because it is in contrib. Reported as Mandriva bug #36517.
  • I encountered a Yelp crash, but I had no backtrace, and could not reproduce it.
  • PulseAudio creates a whopping 6 menu items in the Sound & Video menu, which makes this menu look very cluttered. I think pavumeter should not be installed (removes two menu items, not a regression, because 2008.0 did not have any VU meters in the menu too), neither should paman (it only gives some technical information which does not really interest me) and padevchooser. Only the volume control should be installed by default, as that’s the only application normal user might use often. Not yet reported, as I think this should be accompanied by some other changes to the task-pulseaudio dependencies and suggestions, about which I need to think a bit more and about which I’ll start a discussion on the mailing list soon.
  • I think it could be interesting to install gstreamer0.10-ffmpeg by default because it enables playing WMA/ASX files and radio streams in Rhythmbox.
  • drakmenustyle is installed by default, while we only really support the Mandriva menu structure. The tool in itself still works, but the default GNOME menus were missing some applications present in Mandriva’s menus, as was expected. In that case, we should probably not install this application by default.
  • Still a bunch of faxing applications are installed by default (hylafax-client, efax). Personally I think the number of people having the right hardware to use their system as a fax and the number of people really using such software, is extremely low so that we don’t need to install this by default. Anyway, I have proposed this many times before, and it feels like I’m banging my head against a wall, so I won’t bring this up again.
  • Tightvnc and rfbdrake are old applications which are not really maintained anymore. They should be replaced by the much better Vinagre and grdesktop applications, which are much nicer.
  • Nautilus is somewhat broken, but this caused by the GVFS transition, and the problems are known, so no need to report this again. Let’s see how this evolves during the next few weeks.