The place for tech

The place for simple tutorials, software reviews, and many things tech.

Saturday, August 4, 2012

Comparison of Window Managers and Desktop Environments Reloaded

About two years ago I compared all of the popular window managers with one another. Now that I have much more experience with the different desktop environments, I am going to give the COMPLETE rundown of all of the popular graphical environments. Let's start with my personal favorite, awesome Window Manager.

Awesome Window Manager

If KDE is a sword then Awesome Window Manager is a rock. It is a blunt environment that requires a knowledge of Lua to configure it. Windows tile and using the keyboard is pretty much necessary. This would be a very unfamiliar environment for someone coming from a floating Window Manager. However, the stock keyboard combinations and the efficiency of tiling combined with the number of tags by default make it a powerful tool in the hands of an advanced user. Awesome can be customized to do anything the user wants, and if that is an appealing trait and you have the time to configure it to no end then use awesome Window Manager.

Ease-of-Use: 2
Speed: 10
Aesthetics: 4
Productivity: 8

K desktop environment and Kwin

KDE is an impressive desktop environment to say the least. It has received flack online for its bloat, and that is a true problem. Services and superfluous programs clog the environment and bog it down, consuming RAM in the process. The desktop effects will require a graphics card and can slow any other task requiring one down, requiring them to be shut off. The true power of KDE comes from the very trait that gives it a bad reputation: the bloat. If there is something you want your window manager to do, KDE has a tool to do it.

With different activities you can transform your desktop into an Androidd-esque launcher, or set the wallpaper to monitor the local weather or simulate a virus. Tiling Windows, completely customizable keyboard shortcuts delimited by category, and the suite of applications that come as a part of KDE are just some of the great things that KDE has to offer.

Ease-of-Use: 9
Speed: 5
Aesthetics: 9
Productivity: 6

Unity

Unity is Canonical's modern user interface for their Ubuntu operating system. Unity was created after a fight with the Gnome 3 developers, and it prompted Gnome to create their own operating system to compete with Ubuntu. [opinion]Unity blows Gnome out of the water.[/opinion] In Ubuntu 11.04 Unity was a mess, but ever since 12.04 and Unity 5 it is a usable interface. It runs GTK, so Gnome programs don't pull a mess of dependencies. It also comes in 2d in the event of a weak graphics card, so Unity will run faster.

Unity is the least customizable of the bunch. There is a launcher on the left side of your screen. There are no options regarding this. The extent of theming that can be done ends with GTK and Icon themes and setting the Opacity of the integrated File menu.

Unity offers a unique feature called the HUD that can search through their integrated file menu (GTK and Qt applications move their options bar to the top of the desktop. This can be disabled.) The HUD is a tool of great productivity, and it learns like Gnome do does. The alt key brings it up and within a few keystrokes you can find an item from the context menu that would have taken a whole minute to navigate to by mouse.

Ease-Of-Use: 8
Speed: 4
Aesthetics: 8
Productivity: 8

Gnome 3

It only makes sense to write about Gnome after the entry about Unity. Gnome is, as Linus Torvalds himself described it: "A train-wreck". A few of the sparse good things to say about gnome are that it is themable and it can be extended with addons or with alterations to the internal settings. Gnome 3 comes with insane defaults (like only having the close button on the control bar and the notifications popping up from the bottom and waiting to be dismissed). If Gnome 3 were lightweight and ran a bit faster it would be a viable candidate. It doesn't, though. It consumes more memory than the plasma-desktop from KDE and does not have an option to lessen the effects like other Desktop Environments.

Ease-Of-Use: 6
Speed: 5
Aesthetics: 8 (the one good thing to say)
Productivity: 4

XFCE

Xfce is most well-known for being a lightweight, low-impact desktop environment. Xfce lives up to that reputation, having a RAM consumption only above that of LXDE and Awesome. In addition to being light it is still aesthetically pleasing and has enough tools to customize it to any user's heart's content (even moreso since 4.10 released the mine type editor).

The workspace system is a bit fluky at times, but that is the only real gripe that XFCE can get. I call this one error "leashed windows". Windows that have focus follow you to other workspaces. This usually only applies to switching using keyboard shortcuts.

 Just like Gnome 2.0 it comes with a panel to search through applications, and option to make launchers and links from the desktop, and applets for its panels. It improves on this with a dock (which many users, myself included, purge and replace with tint2 or another dock application) and a good settings tool. XFCE can do some very advanced things. It can even change its Window Manager. Awesome window manager inside XFCE? You bet.

Most of XFCE's applications can be run outside of XFCE, even the window manager. So you can use any combination of XFCE and another environment of your choice while still keeping a low memory profile since XFCE has very few runtime dependencies.

Ease-Of-Use: 8
Speed: 9
Aesthetics: 6 (But customizable to the point of 10)
Productivity: 8

LXDE

LXDE is a set of tools that combines with the Openbox window manager to create a graphical environment unmatched when it comes to ease-of-use combined with shear speed. Some have argued that because of the seperation of desktop environemnt and window manager that LXDE has a "hacky" feel to it. This is not the case. LXDE is a ligthweight XFCE with Openbox's graphical configuration tools. Lxterminal rivals Gnome terminal, and Lxappearance rivals myunity for theme configuration. In fact, lxappearance is the go-to application for changing gtk themes on other desktop environments, not just LXDE. Some of the default software is chosen well too. Pcmanfm as the file manager, for instance, goes along with the lightweight feel of LXDE. Like KDE and XFCE you can change LXDE's window manager from its configuration dialog.

Ease-of-use: 6
Speed: 7
Aesthetics: 5
Productivity: 7

Enlightenment 17

Enlightenment 17, e17 for short, is an odd desktop environment and graphical library suite written by the enlightenment foundation. It improved heavily on e16 and handles a lot of configuration on its first-time-run dialog. It can be heavily extended through configuration files, but otherwise it remains at the beautiful default.There are issues with the file manager handling the desktop, however, and it may throw the entire look-and-feel of the environment off.

 E17 really needs some work. I have had graphical problems and just found it counter-intuitive after it has been set up.

Ease-of-use: 5
Speed: 5
Aesthetics: 9
Productivity: 5

Dynamic Window Manager

Dynamic window manager is a popular dynamic window manager. Dynamic means that the window manager can float or tile, and in DWM's case monocle and spiral. DWM has no configuration tools and the only way to modify it is via the C source code directly. DWM developers have a philosophy that restricts the window manager to only 2000 lines of code, so large improvements cannot be made. Furthermore, users looking to use a mouse are going to feel left out. Although a mouse can minimally interact with the window manager a user with anything but a keyboard and combinations will be lost.

Ease-of-use: 1
Speed: 10
Aesthetics: 3
Productivity: 5

Cinnamon

When I first tried the most recent version of Linux Mint it came with Cinnamon - their home-grown desktop environment forked from Gnome 3. Cinnamon is the MATE of Gnome 3, you could say.

Cinnamon did not disappoint on the aesthetics. It was visually appealing to the last detail (as it was configured in mint, at least) and had the ability to be themed. The menu is one of the smartest (from a searching and design point-of-view) menus around. From one menu you can search for applications, search by category, and access bookmarked applications. The searching works as good as Gnome 3's does, so you can still use an application if you do not know its name.

Cinnamon comes with a feature called Expo that is one of its selling points. Expo can show a spread of all of your workspaces, and upon hovering over one a cascade of all the windows in that workspace. Clicking on a window will take you to that particular workspace and application window. If you have used Compiz expo, this is the same feature but integrated in the desktop environment.

There were two issues with cinnamon. The menu took 2 seconds and 17% CPU for a few seconds to open. I talked to a Cinnamon developer via IRC about this problem and he confirmed that it had been fixed and will be released in the next major cinnamon update. Along the lines of bugs there are memory leaks in Cinnamon, so it requires a restart after multiple hours of running to free some RAM.

 Another problem is that some of the layouts do not work at times, but at other times they do. There was no word on whether or not this would be fixed or whether or not it is really an issue. Another issue (not a bug) is the lacking of some advanced features from the cinnamon settings dialog, but advanced settings can still be configured with dconf.


Ease-of-use 7
Speed: 4
Aesthetics: 7
Productivity: 4

Others
TWM - Tab window manager. I have not used this long enough to give a definitive answer, but when I used it the window manager worked as it was intended - which isn't enough.


MATE - Displaced by cinnamon

Verdict:

For pure productivity
Awesome Window Manager is the most productive of the window managers if the user has the patience to edit the lua configuration file and learn the keyboard shortcuts.

Speed
For speed dynamic window manager wins. 2000 lines of code execute blazingly fast.

Aesthetics
KDE wins the aesthetics prize, especially if the advanced desktop effects are enabled with the search and launch activity.

Ease-of-use
Once again KDE wins this prize. Everything is handled for the user.

Final Verdict
KDE is the overall best desktop environment, but each has its own niche. To truly determine the best environment, using all of them and deciding on your own is the best way to make a decision.

5 comments:

  1. Hi Norton,

    Thanks for your posts about the different window managers and desktop environments. Very interesting.

    I am right this very minute evaluating Awesome on Arch Linux. I currently use Debian/Gnome 2.x but was looking for an alternative when I heard that Gnome 2.x is not going to be maintained.

    So far it's a steep learning curve and you really have to work at it but hopefully it will pay off. I really believe the "efficiency through the keyboard" mantra, this is because I am a proficient with Vim and have customized it to my own tastes with plugins etc.

    However Awesome is rather more work to get anywhere and I worry that the apps I use every day cannot be used to the same degree of use. I am feeling some tedium over having to hack rc.lua all the time even though the payoff will be a desktop *exactly* as I want it. This may just be beginner doubt pangs but I doubt it. I may discard Awesome as an alternative here, will have to wait and see. I want to try KDE out aswell as per your recommendation.

    Anyhow, thanks for your articles and keep writing!

    Imran-UK

    ReplyDelete
    Replies
    1. http://mate-desktop.org/
      https://wiki.archlinux.org/index.php/MATE

      MATE is the Gnome 2 fork. The only reason I did not express much interest for it in this article is because there have been rumors in the community that Cinnamon will steal its support. As of right now it is still being developed and used by many mint users (it's the default desktop there).

      If you want a tiling window manager there are alternatives to awesome. The Dynamic Window Manager can be customized even better than awesome if you happen to be a C programming wizard.

      Also, you brought up how awesome can be "*exactly how I want it.*". KDE is almost as customizable with its extensive settings dialog. Another advantage that KDE has over MATE is the ability to tile.

      In conclusion: MATE if you want to stay with Gnome 2 for a while, DWM if you want to spend hours configuring and recompiling it to be exactly the window manager you want, or KDE if you have the extra 600MiB of RAM to spare.

      Delete
  2. Thanks for your reply. Interesting stuff.

    While I dislike picking things from random internet comments elsewhere without checking them out myself for concrete facts, I heard that Mate duplicates a lot of Gnome stuff under the hood to get it to work. Also various bugs puts me off although I heard it's being addressed by the developers and thats natural for an "immature" product.

    Cinnamon is based on GNOME Shell so I think there is upside in picking something which has a groundswell of support and maintenance behind it. I will add Linix Mint on my list of stuff to evaluate next time I am in the mood.

    Well, I've been evaluating awesome (and Arch Linux as I wanted to check that compared to Debian) for the last two days and thought I'd give my input here if thats OK as it's all related.

    On awesome: I've decided to leave it for now. while it has some nice stuff like:
    - speed
    - tiling/auto-window placement
    - configurability

    there are too many downsides
    - configurability!
    - a bit of a "hassle" (eg. time consuming), like it says; best suited for hobbyists only and highly technical users
    - lack of anti-alias fonts it seems (a deal breaker for me)
    - not as straight forward to get going as debian (which I expected)

    TBH the tiling window placement not good for efficiency as I'd hoped. For now I am putting awesome to one side. it's impressive technology but not really for me right now. At the risk of sounding like a Borg drone, I feel it's not the leap in efficiency I was expecting coming from my nicely honed Debian/Gnome 2.x environment with window snapping, expose and other stuff I have configured in Compiz.

    Awesome is awesome if you're someone who runs ncurses/terminal-based apps such as elinks, mutt, mpd/moc, irssi etc.

    I also I realized I should put my time and effort towards something more related to my career rather than interesting "toy" tech that has no real commercial value (right now). Lots of companies use Debian and through Red Hat sponsorship, will use Gnome (and Gnome 3 in future).

    On Desktops environments, I have a strong affinity with Gnome and I think gedit is a great editor that I use to make notes on everything I do. For this reason I will embrace Gnome 3 on my next OS upgrade cycle. This may be Arch or Debian but will probably be Debian. The gedit thing may be spurious but I like writing notes (in Markdown) on everything I do and my notes are my "wiki" and personal reference.

    I was formerly an Ubuntu user but was put off by Unity although I do understand that things must change and Mark Shuttleworth has given an explanation here (http://www.theregister.co.uk/2012/06/28/mark_shuttleworth_live_chat/) - what resonates with me is his comment "we didn't see any way to get from old to perfect new without going through imperfect new". One of my LUG members has also produced a great intro video to Unity which made me take notice a bit more:
    http://www.youtube.com/watch?v=xA9EHaNc2VI

    As for KDE, for some reason the KDE package is broken in Arch so I didn't pursue that further but I will evaluate it on a VM next time I am in the mood.

    Well thats all my personal opinion,
    Thanks,
    Imran-UK

    ReplyDelete
    Replies
    1. I find it strange that you let your choice in DE (or WM) depend on the applications you use. You can install `gedit` regardless of whether you install gnome. The dependencies are very minimal.

      Unity takes some getting used to, but apart from its performance issues it's a brilliant DE. I especially like the combined top menu/title/statusbar for maximized windows. Unfortunately, the performance issues are a deal-breaker for me. My main laptop (with intel integrated video) actually overheats and shuts down on a regular basis (read: once or more per day) when using Unity. Such a shame.

      Gnome 3.4 is pretty good as well, but I find nothing beats the speed and productivity of a properly customized TWM. My personal preference is Awesome WM, despite the awkward lua API and the messy config file. It's really surprising to find that something called "Awesome" can actually _be_ awesome.

      Delete
  3. "I find it strange that you let your choice in DE (or WM) depend on the applications you use. You can install `gedit` regardless of whether you install gnome. The dependencies are very minimal."

    You are probably right but for me it's a "neatness" thing. I perceive it as pulling in various GNOME libs just for one GNOME app? Better to be running GNOME so that the shared libs loaded into memory can be used by all the other apps?

    I have just tried the latest Arch Linux + GNOME 3.6 and it looks pretty damn good. A few things are missing (in Nautilus, where is F3 to split the window into two panes? Thatw as very useful to me). For me now it's a two horse race - Arch + GNOME 3.6 or Debian Wheezy and GNOME 3.4
    Until then I'm getting plenty of stuff done in Debian Squeeze + GNOME 2.3

    ReplyDelete