Linux Mint is one of the most famous distributions out there, and it’s generally thought as a beginner-friendly Linux distribution. It indeed is. But this article is not about Mint or how good it is, rather, it is about its default desktop: Cinnamon.
In a lot of discussions about which desktops are better on Linux, people seem to forget that Cinnamon exists, although it’s one of the best desktops out there that you may try. Just like its developers describe it:
Cinnamon is a Linux desktop which provides advanced innovative features and a traditional user experience.
Historically, Cinnamon development started after GNOME 3.X came out, a lot of things actually started after GNOME 3 came out in 2011: MATE was forked of GNOME 2 in an effort to keep the traditional desktop layout. Unity started to be developed by Canonical / Ubuntu. Mint developers, on the other hand, introduced a set of GNOME Shell extensions that tried to alter the behaviour of the shell to make it look like a traditional GNOME 2 desktop environment; An effort which seemed impossible to sustain with the API break between each new GNOME version, especially that it was still under heavy development back in the day. In the end, Mint developers forked the entire GNOME Shell stack and called it “Cinnamon”.
Nautilus, the default GNOME file manager was forked into “Nemo”. Mutter, the GNOME Shell’s compositor, was forked into “Muffin”, and a lot of similar libraries and apps were forked too.
Today, 8 years later, Cinnamon is almost nothing like the original GNOME Shell. It’s quite extendable, functional yet beautiful in its own traditional way that do not require you to get used to a new user experience each new version, but instead, just use your PC to do your actual work. Cinnamon 1.0 in terms of the general UI / UX is almost identical to Cinnamon 4.2 released few weeks ago. And the Linux community seems to forget that the silent majority would like such thing.
This article will take you in a deep tour inside Cinnamon and why we think it’s one of the best desktops out there.
Cinnamon Desktop Tour
Cinnamon features a traditional layout by default: One customizable panel at the bottom of the screen, desktop icons and a possibility to add desklets. This is the same layout too in all Windows version, from XP to 10. It makes new users coming from Windows more familiar on how to reach things, and doesn’t really limit power users in any way.
There are other layouts that you can have too: You can have one panel at top and one panel at the bottom, and add applets to each of them separately. You could also have a Unity-like layout by putting the panel on the left side of the screen:
Quickly Installable Themes, Applets & Extensions
One of the nice things in Cinnamon is that you can quickly install the things you need from inside the control center itself. You don’t need to Google for “Cinnamon themes” and then spend an hour installing and testing many themes from many sources. Instead, you can just get what you want from the “Add/Remove” tab in the Themes Settings:
From this window, you can see the screenshot of theme, so you can know how it looks like before you install it. If you like it, you just need to hit the add button and it will be installed automatically for you in 1 second.
This isn’t just available for themes, but also for applets, desklets and extensions. You can install them from their settings windows too:
In this way, you won’t spend too much time in tweaking your desktop in order to use it. If I am not wrong, this feature doesn’t exist in any other GTK-based desktop: GNOME, XFCE or MATE. It exists however in KDE, where you can download everything you need (even wallpapers) from inside the control center.
Deep, Really Deep Settings
Another amazing aspect of Cinnamon is the huge availablity of possible settings to adjust. There’s a setting for everything in Cinnamon, and the “coverage” of those settings does reach a really deep level.
In the panel settings, you’ll have these options:
Notice how you can change the panel size however you like, but also still be able to resize the icons to any different size you want, and you don’t have to make all the icons in the panel in one size only; You can resize them based on the area they appear in (Right, left and middle).
This is a very good feature because some icons will look really bad if they were always automatically sized with the panel size, so playing with them manually can solve this, and Cinnamon allows you to do that in no time. Also notice that you can control the symbolic icon sizes only if you would like.
Another good example on this is the hot corners feature in Cinnamon. You can view all workspaces, view all windows or show desktop whenever your mouse pointer reaches a specific corner of the screen. You can also set a delay before this happens, or even run a specific command when it happens. You can also close windows that you don’t need in the workspaces overview:
Nemo is Cinnamon’s file manager. It was forked of the original Nautilus file manager since version 3.4. Today, it has tons of options that you can tweak however you like. You can compare between the two from the videos below:
Cinnamon offers a great window management experience. A lot of other options to play with (There’s a small glitch in recording this one, sorry for that):
You can also enable/disable VBlank mode (Making the framerate the same as the refresh rate of them monitor), or emulate middle click on both right and left click occurrences (It’s better to disable both of these options for gaming). Cinnamon itself, as a shell, does scale well on HiDPI screens automatically thanks to the default scaling option, but because its programs are still GTK-based (and GTK doesn’t fully support fractional scaling yet) you’ll get a mix of the two experiences:
There are many other possible settings to tweak in the Cinnamon Control Center, but they are typical like in any other place: Fonts, accessibility, keyboard & mouse, power management.. And so on.
2D/Software Rendering Session
There’s a special Cinnamon session that uses software rendering instead of hardware rendering. This means that if you ever happen to encounter a driver issue for example, then instead of being locked out, you’ll be automatically logged in to the software rendering session.
A software rendering session depends entirely on the CPU of the computer to “render” the UI. That’s why you may find CPU usage in such sessions high, so it can be treated as a “fallback” session in case any issues are encountered in the default session.
This session is part of the default Cinnamon package. It’s not in a separate package.
This feature isn’t essential for many users, but still, Cinnamon developers have taken it to its maximum limits.
You can choose whether you want to enable or disable effects in a lot of places in Cinnamon, such as menus, windows, dialogs… And you can also enable or disable overlay scrollbars (Which are the type of scrollbars that are displayed as a small one until you hover it by your mouse, then it shows you its full real size).
What’s more interesting is that Cinnamon offers a set of effects that you can choose for any window operation you do: Closing, maxmizing, minimizing, snapping… And allows you to see a symbolic live preview of that effect:
Stable UI, UX and API
I can’t emphasize on this enough. Cinnamon 1.0 is just like Cinnamon 4.2 in terms of layout: Desktop icons, panel on bottom with start menu on the left and a system tray on the right, and window buttons in the middle. New features are added all the time, and bugs are continuously fixed, but the user experience does not change.
The only noticeable change I’ve seen in Cinnamon’s UX is about the window buttons on the panel. Before version 4.0, they were just normal ungrouped flat buttons, but after it, they become like Windows 10: Favorite apps open in place instead of after a specific favorite apps area and grouping is done by default. I can’t think of anything other than this.
I could’ve said the same thing about the Cinnamon API for developing panel applets, desklets, themes and extensions, but sadly the situation of the API does not seem to be documented anywhere. Still, if you are a very long Cinnamon user like me since 2011, you’ll notice that it’s very quite rare for an applet to break. This is not true for a lot of other desktops where the API keeps changing every two months, causing themes & extensions developers to repeat their work or even abandon it completely.
The theme I used in this tour for example is called “Windows 10”. It was last updated in 2017. Still, it works great on today’s Cinnamon with no issues at all as you can see from this post.
So far you have seen the best of Cinnamon and why we think it’s one of most important desktops to consider using on Linux. If you liked it and wanted to try it, you may search about it in the official repositories of your Linux distribution, as it’s probably going to be there.
If you have any other similar experiences or comments on Cinnamon, we’ll be happy to hear about them in the comments.