Searching for usability: Seven window managers for Ubuntu

by Ignacio Agulló Sousa

Text licensed under the license
Creative Commons BY-NC-SA
Copyright over the screenshots corresponds to the authors of the programs

Seven window managers for Ubuntu in PDF format (500 Kilobytes)


     Window managers

     By installing the proper package, Ubuntus login screen allows to choose which window manager to use - and by installing gnome-session-fallback, it even allows to choose the old GNOME Classic.  Let's consider seven window manager choices for Ubuntu 11.10 (and before you say it, yes, I know that some of them turn out to be just flavours from a same window manager) : Cinnamon, GNOME (3.x), GNOME Classic (2.x), Jwm, MATE, TWM, and Ubuntu/Ubuntu 2D.  All work OK with my encrypted home folder mounted by the PostLogin script - well, at least they do after some tuning on my part.  Now, let's find out about their usability.

     Nine keys to usability

     Experiencing different window managers shows how few things they really share.  There are windows, windows can be minimized, and multiple windows can be shown simultaneously - that's all, everything else is customary.  Even the things you would find to be the most obvious can't be taken for granted.  The usability of windows changes a lot from one manager to another.  Let's follow the trail of the most important usability keys and weed out the less usable managers, until we are left out with the most usable ones.

     First key: What menu do you have?

     Once you get one hundred applications carefully ordered into submenus, getting to order submenus from the start again seems just monkey business.  So, because I found these window managers by using Ubuntu, having my Ubuntu menu available became essential for me - and I mean the classic menu present up to Ubuntu 10.10.  From this point on I will be indicating the menu type the window managers use.

     Second key: Do you have a desktop?

     What is the desktop?  It's the background below the windows, where you can place files, folders and shortcuts to applications.  Pretty obvious, isn't it?  However, the Timeless Windows Manager (TWM) doesn't have one.  This 25-year old manager, now light-weight oriented, doesn't allow a use for the background.  Neither allows for maximizing windows, just resize.  And it uses a Debian menu - Ubuntu classic menu cannot be used here.  If you select from the menu Debian→Applications→File manager→Nautilus; you do get a desktop, yes... one inside a fixed-size window, without a taskbar and a system tray.  At least you get a list of open windows by selecting Show Icon Manager.  It's barely usable, so save it for legacy computers.

     Third key: Do you have an open windows list?

     All right, we started at the very bottom.  So it's all up from here, the rest of window managers provide us with desktops and taskbars.  But wait a minute - what kind of taskbar?  You don't mean a taskbar that doesn't show what windows are open, do you?  Everybody needs a clickable open windows list in order to go to the desired window in just one click.  Even TWM did that.

     Actually yes, shit happens.  Ubuntu/Ubuntu 2Ds Unity interface is a modern one, with a state-of-the-art design and... no open windows list.  No kidding. What you get is a scrolling sidebar on the left with the icons for the most used applications, and if you scroll through it you will see small triangles pointing to the icons corresponding to open applications. Yes, you get to scroll and wait.  Or, you can press Alt+Tab.  Also, you're prevented to open more than one window from the same application.  Gratuitous, unnecessary awkwardness - or pure sadism, have your pick.  Also, you don't get the classic Ubuntu menu either - you get a new menu with new, different submenus chosen pretty much at random.  On the other hand, Unity's got system tray, minimize and maximize buttons, and Startup Applications.


     Fourth key: Do you have a system tray?

     What is a system tray?  It's the area in the taskbar where are placed the icons for the programs that are running all-time without necessarily having an open window.  Whenever we need to access these running programs interface, instead of selecting the menu item for the program we click on the icon from the system tray.  Pretty obvious again, isn't it?  We have already left the worst part behind - the rest of window managers have all got desktop, taskbar and a clickable open windows list.  So, they surely will have an usable system tray - even Unity did have one, so the rest wouldn't forget to have one... or would they?

     Actually, they did.  GNOMEs taskbar it's a very minimal one that doesn't have an applications menu, an open windows list, or an usable system tray.  For the first two, you have to click on Activities.  For the usable system tray, you just don't get one.  That brings trouble with some applications intended to run full-time such as Skype.  When you're an full-time application, and you're meant to run in the background most of the time, having an open window only means disturbance for the user, who is constantly switching between windows, and who would be annoyed to land one time after another on any unnecessarily open windows.  So full-time applications as Skype do the trick of having system tray icons, and no open windows unless needed.  Closing their windows doesn't get these applications to close, but to "minimize to tray".

     But then, what happens when Skype fails to put an icon on GNOMEs system tray?  It happens that whenever Skypes window closes, Skype continues to run in the background.  And when the users want to use this running instance of Skype again, and have no system tray icon to access it, trying to launch Skype from the menu will result in a second, separate instance of Skype running which won't allow the same Skype user to log in because this user is already logged in through the first instance.  An ugly situation, solved only by forcing the first instance of Skype to close by killing its process or logging out from the computer.  If you want to prevent Skype doing this in GNOME, you must never close Skypes window once opened.  Also, you must prevent Skype minimizing to tray when it starts by going to Options...→General and getting sure the Start Skype minimised in the system tray box is unmarked.

     And even that isn't enough if you use an Skype account in Pidgin.  The Pidgin application is capable to handle most Instant Messaging accounts for itself, but not so with Skype accounts.  The Skype plug-in for Pidgin doesn't really enable Pidgin to handle Skypes conference and videoconference services, but rather allow Pidgin to start Skype as a servant - Pidgin gets to access Skypes contacts list and to handle Skypes chat while conference and videoconference services will continue to work through the Skype application.  The problem with this is that whenever Skype is started by Pidgin it always starts minimized even tough set otherwise at Skypes options.  If you intend to use Pidgin and Skype with GNOME, you must use them separately - sorry, no Skype account handling from Pidgin.  And if you want them to start up automatically after logging in, you must set them up separately at GNOMEs Startup Applications.


     Fifth key: Do you have minimize and maximize buttons?

     We already found out about the open windows list and applications menu not being shown at the GNOME taskbar, but rather accessed by clicking on Activities.  And sure, when you click there you're presented with a nice view of all open windows for you to choose from - a second click on the Applications tab will present you with the Ubuntu classic menu, although with a two-second delay.  It works, doesn't it?  You can manage your windows from there all the same... or can't you?

     Actually, GNOMEs windows haven't got minimize and maximize buttons, and you really don't miss them... except for the times when you work with two or more windows sharing the screen, and then you momentarily invoke a third one on top. Instead of minimizing it when you're done (one click), you get to use the Activities menu to bring the previous windows to the front (two clicks for each).  Oh yes, I know: we're supposed to forgot about minimize and maximize, and to use different desktop workspaces instead.  That's the dogma here.  But it turns out that even at its best, multiple desktop workspaces don't best multiple windows.  You may substitute window buttons for workspace buttons at the taskbar, and still a third window will cost you one click to invoke and another click to dismiss - that is, if you still haven't ran out of workspaces.  The "enlightened ones" are trying to "educate" us - how curious it is that they do it not by supplying us with improved choices, but by worsening our traditional choices.

     Fortunately, GNOME provides a fix for this: the gconf-editor tool allows to add the minimize and maximize buttons, in the key /desktop/gnome/shell/windows/button_layout.  Also, GNOME's got Startup Applications.

     Sixth key: Do you have a desktop icon?

     All window managers reviewed here, except TWM, have got desktop.  Well, if you've got an desktop with usable elements, it very much follows up having single-click access to it, doesn't it?  You get a a desktop, you need a desktop icon. Isn't it pure logic?

     Well, not for some "enlightened ones".  GNOME and Unity both provide taskbars, but never with a desktop icon.  Do you want to minimize all windows at the same time? You can't.  If you want a clean desktop quick, and want to avoid minimizing all of your windows one by one, the closest thing you get is a new desktop workspace - and even then, you can't have it on a single click.

     In GNOME, you click on Activities and then double-click on the right sidebar - you will always find a new desktop workspace at its bottom, there's apparently no limit.  So, GNOME developers have changed the paradigm of window use: one window, one workspace.  You don't switch windows, you switch workspaces.  You're still allowed to share the same workspace between multiple windows, and you can still show multiple windows simultaneously (i.e., so you can copy elements from one window to another).  Even the Alt+Tab function has been improved for switching between different workspaces.  All right, it pretty much works... except for needing three clicks instead of one to switch window.

     In Unity it works even worst, because the number of desktop workspaces are limited, so you eventually will run out of them and have to resort to minimizing windows.  Even worst, switching workspaces is done by keyboard only.  If you get the Indicator Workspaces plug-in, you will be able to change the four-workspaces limit, and also to switch workspace by clicking - but still, it will take you two clicks.

     Seventh key: Can you have a single taskbar at the bottom?

     Smartly used, a single taskbar will provide you everything you really need.  Having two taskbars is just a waste of screen space.  And then, I want my single taskbar to be at the bottom.

     It's not that I am fond of Microsoft products - it's just that placing the taskbar at the top causes me to occasionally mistake the taskbar menu for the applications menu. Placing the menus on opposite edges of the screen makes more sense to me.  I know that this is very debatable, and is not to be taken as an usability rule, but now that I am started on usability I am just throwing it in with the rest.  I want a single taskbar at the bottom.

     Then again, GNOME and Unity won't let me.  Their menu-less taskbars are fixed on top.  This is a kind of setback, specially when the GNOME Classic taskbar allows me to place it anywhere.

     Eight key: Do you have Startup Applications?

     We're getting to the top.  The rest of managers provide us with desktop, taskbar, open windows list, usable system tray, minimize and maximize buttons, desktop icon, and single taskbar at the bottom.  We got the perfect layout, so it's time to think about startup configuration.  In the classic Preferences menu from Ubuntu, there is the Startup Applications item that allows you to set which applications are to run after login.  It will work with every window manager, won't it?

     Actually, not.  Startup Applications works with all GNOME-based window managers, such as the already reviewed GNOME or Unity, or the ones that we will review later - but it won't work with non-GNOME managers.  That means TWM, and also a new one: Jwm.

     Jwm is a light-weight window manager like TWM.  Like TWM, it has no Ubuntu classic menu but Debian menu, and the desktop starts up by selecting Debian→Applications→File manager→Nautilus.  But Jwm has all the of features that TWM and the rest of window managers have been missing so far: desktop, taskbar, open windows list, usable system tray and minimize and maximize buttons.  It looks very much like a complete window manager, only simpler... and lacking Startup Applications.

     Ninth key: Do you have support?

     All right, the rest of window managers are nearly perfect.  They have Ubuntu classic menu, desktop, taskbar, open windows list, usable system tray, minimize and maximize buttons, and startup applications.  We cannot ask for more, they're just usable.  But still, we have a concern: do they have support?  Without support, the manager will stay forever the same - and tough we might like it this way, it means no further improvements will show up in the future.

     Actually, that is what happens with GNOME Classic: its last version, 2.32, came out in September, 2010. You might like it, as I do, but if you found another window manager with the same features and support, wouldn't you want to use it?

GNOME Classic

     The great final

     So, we have reduced the most usable systems to two.

     MATE is a fork from GNOME Classic (2.x), MATE 1.2 version released on April 2012.  It's got everything that GNOME Classic has, plus support and new features, although it places my icons in the wrong places of the desktop.


     Cinnamon is a fork from GNOME (3.x) with improved usability, Cinnamon 1.4 version released on March 2012. It's got everything that GNOME has, plus usable system tray, desktop icon, one-click menu, minimize and maximize icons out of the box, and... yes!, taskbar at the bottom.


     Both have Ubuntu classic menu, desktop, taskbar, open windows list, usable system tray, minimize and maximize buttons, startup applications and support.  Which one is the best?

     Because of GNOME being the most used desktop for Ubuntu and for GNU/Linux, mainstream GNOME (3.x) is expected to have the better quality code.  Thus, I expect a GNOME (3.x) fork to outdo a GNOME Classic (2.x) fork.  Cinnamon, I am working with you from now on.

Created on April 18, 2012

[ Language selection | Entrance | Updates | Seven window managers for Ubuntu | Entities | Curriculum vitae ]