Cinnamon and Razor-qt: A tale of alternative desktops
Despite how often we hear about "the post-PC era," the Linux desktop environment is certainly an active space, churning with more competing projects than ever. Two recent additions to that space are Cinnamon and Razor-qt, which could be described as "alternative DEs" breaking away from the more established GNOME and KDE offerings, respectively. The relationships between the projects are not quite that simple, however, as Cinnamon has plans for retaining GNOME compatibility, while Razor-qt is more interested in producing a lightweight, stripped-down environment.
Cinnamon
![[Cinnamon]](https://static.lwn.net/images/2012/cinnamon-sm.png)
The second alternative was the Mint GNOME Shell Extensions (MGSE), which as the name makes clear is a suite of extensions for GNOME 3.2's GNOME Shell. Individually the extensions implement several desktop conventions not available in vanilla GNOME Shell (such as a bottom panel, a window list, and an "applications menu"), and alter some individual pieces of GNOME Shell's behavior, such as window switching.
Although using MGSE restores multiple desktop components that GNOME Shell's critics said they missed from GNOME 2.x, it remains GNOME Shell underneath. In late December 2011, Lefebvre unveiled Cinnamon, which takes the MGSE concept further by replacing GNOME Shell outright. The latest release of Cinnamon is version 1.1.3, from January 2. At the moment the code is officially available as 32- or 64-bit Debian packages (in addition to source hosted at the Linux Mint GitHub site), while third-party RPM packages have been contributed for openSUSE and Fedora.
1.1.3 picks up where MGSE left off, not only providing the bottom panel, applications menu, and window list features, but beginning the process of removing GNOME Shell components that the project considers unsatisfactory. The GNOME Shell "Applications View," which is the search-based interface to a system's installed applications, is the first to go. The Applications View is one of the two overlay modes triggered by activating GNOME Shell's "Activities" screen; since Cinnamon provides menu-driven access to applications, the Applications View is redundant.
On the other hand, at present Cinnamon retains the Activities screen's other mode, the "Windows" switcher, although it makes several alterations. The tab key cycles between individual windows rather than applications (which only results in different behavior for multi-window applications), and each window is stamped with its application icon. Cinnamon also adds a "Themes" overlay mode to the Activities screen, which allows the user to switch between any Cinnamon themes stored in ~/.themes. However, the entire Activities screen can be disabled by editing a dconf key.
The bottom panel is similar to GNOME 2.x's, though it uses GNOME 3 technology to provide easier right-click editing of launchers (such as the "Add to panel" option found in GNOME Shell). The applications menu, though, is a departure from upstream GNOME 2.x, and reflects the customized, multi-column main menu offered by earlier Mint releases. There are also a number of smaller changes, such as tweaks to the placement and duration of notification messages, a smaller default font size, and miscellaneous changes to the behavior of some default panel applets. Cinnamon supports multi-monitor setups, but like GNOME Shell, it has some kinks to be worked out (as users are reporting on the Mint forum).
The rationale stated for developing Cinnamon includes a number of
factors: making the computer "work for you
", making things
"
not hidden away but easy to access
", and making you
"
feel at home ... thus giving you the ability to change the way the
desktop works, looks and behave.
" Of course, several of those
factors are uniquely personal, so it is hard to quantify what they mean in
a general sense. As a result, the other way most people describe Cinnamon
is that it re-implements the GNOME 2.x desktop using GNOME 3 technology.
When you consider the changes to the applications menu and panel applets,
that is not quite true — in fact, what Cinnamon
re-implements is Mint's customized version of GNOME 2.x. If you are an
Ubuntu or Fedora user, you may find that it requires some getting used to.
A bigger problem is that since the release of GNOME 3.2, a lot of GNOME Shell extensions have starting popping up, as has an "official" extensions web site. But as of today, Cinnamon is not compatible with other GNOME Shell extensions, which is probably not too surprising. A developer on the forum cites Lefebvre as saying he wants to make Cinnamon configurable without the need for extensions; nevertheless there are users who are clearly interested in using add-ons that originate elsewhere. That lack could hurt Cinnamon's adoption among non-Mint users. Another risk is what Jonathan Corbet described in his predictions for 2012: between MATE, MGSE, and Cinnamon, Linux Mint is taking on a lot of development work for a small distribution — it may fare well, but it may also hit the wall.
Razor-qt
![[Razor-qt]](https://static.lwn.net/images/2012/razor-qt-sm.png)
While Cinnamon is only attempting to replace GNOME Shell (leaving other GNOME platform components untouched), Razor-qt is an attempt to build a new DE entirely, providing a lightweight computing environment based on the Qt framework. In that sense, Razor-qt is analogous to Xfce or LXDE, which build on GTK+ but do not use most GNOME platform technologies. Razor-qt provides a basic DE without depending on KDE libraries — most notably the Plasma engine on which KDE's desktop, panel, and widget system are based.
Razor-qt was started in 2010, but development picked up after the project migrated from SourceForge to Github in July 2011. The latest release is version 0.4, which dropped on December 12. In addition to the sources available through Github, there are package repositories provided for Ubuntu, Fedora, OpenSUSE, Arch Linux, and Agilia, along with ebuilds for Gentoo. The dependencies are few, including Qt4 (no more specific notes as to which version), X, libudev, and libmagick.
The Razor-qt environment is lightweight, perhaps even spartan, but slick. It provides a panel (configurable for either top or bottom placement), a system menu, and a collection of essential panel applets (clock, window list, system tray, etc.). It does not include a window manager, but it is capable of cooperating with "any modern WM from fwwm2 to KWin
" — although the project developers recommend Openbox. The project also recommends an assortment of Qt-based applications to flesh out the system, all of which also come without KDE dependencies.
At first launch, Razor-qt asks the user which window manager to use. Razor-qt relies on other components for things like drawing the desktop background and desktop icons, so some of the desktop look will depend on which window and file managers are being used. If GTK+ options are chosen, those tools may not quite match the Qt look-and-feel of the rest of the environment. The 0.4 release advertises its support for Freedesktop.org's "XDG" cross-desktop standards (which it implements in a reusable qtxdg library). It seems to observe the XDG base directory, menu, cursor theme, icon theme, and .desktop launcher specifications — through the window manager it also picks up support for other useful specifications, such as drag-and-drop.
The result is a desktop environment that is more-or-less usable for everyday tasks, although there are still missing and incomplete features. For example, there is a screensaver plug-in, but it only supports locking the screen by clicking on a panel button; there is no automatic time-out. Settings are divided up between two applications, one for the desktop and one for the session, but neither contains font preferences, widget themes, or several other categories one might expect. Still, the set of bundled utilities continues to grow — it now includes a clipboard, keyboard manager, and battery status applet, all of which are still listed as third-party add-ons on the applications wiki page.
Razor-qt works with multiple monitors. As it does not implement the "overlay" effect that GNOME Shell, Unity, and Cinnamon use to bring up the window switcher or application search functions, there are fewer bugs reported in relation to its multi-monitor support. Current support is basic, but there are feature requests asking for enhancements.
Razor-qt is also commendable for providing API documentation, even at such an early stage in its development. The documentation includes references for the DE's XDG implementations and for its original desktop environment and session classes. That will no doubt come in handy for attracting new contributors.
It is hard to go into much more detail about Razor-qt's environment, because it is (quite intentionally) so simple. The project's home page gives "simplicity, speed, and an intuitive interface
" as its goals, along with the ability to run on "weak machines
". It does the job without fanfare. The GTK+-based lightweight DEs offer a more complete package at the moment, but they have a considerable head start as well. The Qt framework encompasses more than GTK+ does, so as the project progresses, it is reasonable to expect it to catch up, without piling on too many additional dependencies or custom libraries.
Conclusion
There seems to be an implicit "should we switch?" question behind most of the blog reviews published about Cinnamon, Razor-qt, and other alternative desktop projects. The short answer is "no," of course: both are still very wet behind the ears, which means missing pieces and instabilities. The more interesting question is what each of the projects means for the Linux desktop ecosystem. Neither has a firm roadmap published, but there are potentially interesting implications to both projects.
First, with the arrival of Cinnamon, hopefully it is clear at this point that GNOME users' criticisms about GNOME Shell cannot all be dismissed solely as "fear of change." The extensions community and all-out forks like Cinnamon implement specific feature changes (application menus, window lists, relocation of the clock and notifications) unavailable when GNOME Shell debuted, and hopefully they will be accepted (even if not adopted as defaults) by the upstream developers. The usability concerns about "large screen" desktops versus "small screen" tablets are not quite as easily solved, but if no one tries then no progress is possible. Cinnamon's existence clarifies that someone can like GNOME 3 technology, but still make a valid argument that there is more than one way to implement a usable desktop with it.
Razor-qt, for its part, offers application developers the tantalizing possibility of clarifying the distinction between KDE and Qt, which are too often confused by users. Simply providing users with another choice — and in this case, a substantially different one than Xfce and LXDE — is empowering to those users, but it can also serve to push the Qt project ahead. The qtxdg library is one example, and probably will not be the last. On top of that, additional platforms equal more testing, and as Qt makes a play for embedded devices, the more diverse its ecosystem, the better it will do.
Index entries for this article | |
---|---|
GuestArticles | Willis, Nathan |
Posted Jan 12, 2012 4:42 UTC (Thu)
by louie (guest, #3285)
[Link] (10 responses)
First, with the arrival of Cinnamon, hopefully it is clear at this point that GNOME users' criticisms about GNOME Shell cannot all be dismissed solely as "fear of change."Cinnamon and Razor-qt: A tale of alternative desktops
Posted Jan 12, 2012 11:36 UTC (Thu)
by dgm (subscriber, #49227)
[Link] (9 responses)
Just read the list of things Ali Akcaagac was proposing for project GoneME. You will find it here: http://www.akcaagac.com/index_goneme.html
How many of those things make sense in retrospect? Many. Where would Gnome be if they had listened then? Much further than they are right now, I guess.
> "someone started a fork and maintained it for a few weeks"
It works sometimes. Go ask the EGCS people.
Posted Jan 12, 2012 16:50 UTC (Thu)
by tetromino (guest, #33846)
[Link] (8 responses)
About half. Gnome did end up dropping spatial nautilus, switching to a single-window control center, adopting a policy clarifying the difference between Name and GenericName in .desktop files, deprecating bonobo and libgnome and moving their functionality to gtk+, putting together a UI design team after concluding that leaving design decisions up to individual C coders results in ugly applications, and transitioning from gecko to khtml-derived webkit for html rendering (but sticking with mozilla's mozjs/spidermonkey as the main javascript vm). On the other hand, users got used to the new default button order and inconsistency issues were quickly solved at the toolkit level; today, gnome is a heavy user of non-C languages like python, vala, and javascript, and most people agree that it's a good thing; instead of esound, gnome now depends on the even heavier and more controversial pulseaudio; gconf was replaced with the even more registry-like gsettings (using binary files for the default storage backend); and gnome's insidious influence reaches ever further up and down the desktop linux stack, and although this meets with some grumbling, there is realistically no alternative if one wants to be competitive with proprietary operating systems on the desktop. And of course, Akcaagac's proposal to use PDF—slow-to-render, paginated, optimized for printing on dead trees—as the default documentation format was, quite bluntly, insane.
Posted Jan 12, 2012 18:00 UTC (Thu)
by sfeam (subscriber, #2841)
[Link] (3 responses)
Posted Jan 12, 2012 19:06 UTC (Thu)
by dlang (guest, #313)
[Link] (2 responses)
having documentation on an e-reader (kindle/nook) can be a great thing, if your documentation is only in pdf, this is a problem
Posted Jan 13, 2012 14:16 UTC (Fri)
by nix (subscriber, #2304)
[Link] (1 responses)
e-book formats are not ideal, but they're a lot better for reading text than PDF ever was. The *readers* are not ideal, but just because the Kindle doesn't do Tex-style autohyphenation (or break on hyphens at all) doesn't mean that a desktop e-book reader cannot.
Posted Jan 14, 2012 19:46 UTC (Sat)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Posted Jan 12, 2012 18:08 UTC (Thu)
by drag (guest, #31333)
[Link]
Which actually works well, sounds nice, makes configuring Linux audio very easy, and is actually very useful. All of which Esound utterly failed at for the most part.
Also it's very configurable on how 'heavy' you want it to be.
> gconf was replaced with the even more registry-like gsettings (using binary files for the default storage backend)
Which is also has very few dependencies making it much more useful for non-Gnome applications to use. Thus providing the facilities for application developers to create unified configuration backends that can allow unified configuration interfaces (for possibly storing group policies in LDAP, for example.. or making scripting configuration changes for many different applications much easier). It's also much faster, safer to use, and makes it easier for application developers to 'do the right things'.
:)
Posted Jan 16, 2012 15:26 UTC (Mon)
by NAR (subscriber, #1313)
[Link] (2 responses)
Well, not this user... I did loose some work because some **** put the OK button to the right, to the time honored position of Cancel.
Posted Jan 19, 2012 13:47 UTC (Thu)
by nye (subscriber, #51576)
[Link] (1 responses)
I still periodically lose data because Firefox on Linux assumes the Gnome button order and has no option to switch to a sane setting.
The real bitch is that it's the right way round on Windows, plus it's the only Gnome application I ever use, so I can never learn to get used to the reversed button order.
The switch was just so *senseless*. Why change the defaults that almost everyone is used to, just to conform with some other minority platform? Plus, everyone knows that boolean questions are answered with 'yes or no', not 'no or yes' :P.
Posted Jan 20, 2012 4:25 UTC (Fri)
by elanthis (guest, #6227)
[Link]
The logic is very simple and based on UI research. The inconsistency is certainly worse than whatever improvements the button order has, of course. That's a bug in Firefox or your other applications, and not GNOME's fault.
Posted Jan 12, 2012 17:58 UTC (Thu)
by drag (guest, #31333)
[Link] (1 responses)
Does it have the 'friendly' configuration options to enable all that?
:P
Posted Jan 13, 2012 0:51 UTC (Fri)
by elanthis (guest, #6227)
[Link]
Cinnamon and Razor-qt: A tale of alternative desktops
> How many of those things make sense in retrospect?Cinnamon and Razor-qt: A tale of alternative desktops
And of course, Akcaagac's proposal to use PDF—slow-to-render, paginated, optimized for printing on dead trees—as the default documentation format was, quite bluntly, insane.Cinnamon and Razor-qt: A tale of alternative desktops
I won't touch the rest of your comment, but I have to say that in my experience PDF works better than other formats currently available for documentation. Pagination is an advantage, or at worst does no harm. Being able to print from it is also an advantage, although a rarely-used one. The only downside I see is that it's a derived format. You still have to maintain the original source for the documentation in some other format.
Cinnamon and Razor-qt: A tale of alternative desktops
Cinnamon and Razor-qt: A tale of alternative desktops
Cinnamon and Razor-qt: A tale of alternative desktops
Cinnamon and Razor-qt: A tale of alternative desktops
users got used to the new default button order
Cinnamon and Razor-qt: A tale of alternative desktops
Cinnamon and Razor-qt: A tale of alternative desktops
Baffling.
Cinnamon and Razor-qt: A tale of alternative desktops
Cinnamon and Razor-qt: A tale of alternative desktops
Cinnamon and Razor-qt: A tale of alternative desktops