# Cinnamon (desktop environment)

Cinnamon is a free and open-source desktop environment for Linux and other Unix-like operating systems, which was originally based on GNOME 3, but follows traditional desktop metaphor conventions.
The development of Cinnamon began by the Linux Mint team as the result of the April 2011 release of GNOME 3, in which the conventional desktop metaphor of GNOME 2 was discarded in favor of GNOME Shell. Following several attempts to extend GNOME 3 so that it would suit the Linux Mint design goals through "Mint GNOME Shell Extensions", the Linux Mint team eventually forked several GNOME 3 components to build an independent desktop environment. This separation from GNOME was finished with the release of Cinnamon 2.0.0 on October 9, 2013. Applets, extensions, actions, and desklets made explicitly for Cinnamon are no longer compatible with GNOME Shell.
As the distinctive factor and preeminent desktop environment for Linux Mint, Cinnamon has generally received favorable coverage by the press, in particular for its ease of use and gentle learning curve. In regard to its conservative design model, Cinnamon is similar to the Xfce, MATE, GNOME 2, and GNOME Flashback desktop environments.

## History

As with many other desktop environments based on GNOME, including Canonical's Unity, Cinnamon was the result of disapproval and dissatisfaction of the GNOME team's abandonment of a traditional desktop experience in April 2011. Until then, GNOME 2 had included the traditional desktop metaphor, but in GNOME 3, this was entirely replaced with GNOME Shell, which by default lacked a taskbar-like panel and other features of a conventional desktop like those of Microsoft Windows and GNOME 2. The elimination of these basic features was unacceptable to the developers of distributions such as Mint and Ubuntu, which are geared to users who wanted interfaces that are familiar and easy-to-use.
To overcome these differences, the Linux Mint team initially set out to develop extensions for GNOME Shell to replace the abandoned features. The results of this effort were known as the "Mint GNOME Shell Extensions" or MGSE. Meanwhile, the MATE desktop environment had also been forked from GNOME 2. Linux Mint 12, released in November 2011, subsequently included both, thereby giving users a choice of either GNOME 3 with the MGSE or a MATE desktop that closely resembled GNOME 2.
However, even with MGSE, GNOME 3 was still largely missing the comforts of GNOME 2 and was not well received by the user community. At the time, some of the missing features could not be replaced by extensions, and it seemed that extensions would not be viable in the long run due to concerns of significant changes upstream from the GNOME team. Moreover, the GNOME developers were not willing to cooperate with the wishes of the Mint developers. To give the Mint developers finer control over the development process, GNOME Shell was forked as "Project Cinnamon" in January 2012.
Gradually, the Mint developers adapted various core applications. Beginning with version 1.2, released in January 2012, the window manager of Cinnamon is called Muffin, which was originally a fork of GNOME 3's Mutter. Similarly, since September 2012 (version 1.6 onwards), Cinnamon includes the Nemo file manager which was forked from Nautilus. Nemo was created in response to disapproval of some upstream changes in Nautilus 3.6 that significantly altered the functionality and user interface of the file manager. Cinnamon-Settings, included since May 2013 (version 1.8 onwards), combines the functionality of GNOME-Control-Center with that of Cinnamon-Settings, and made it possible to manage and update applets, extensions, desklets, actions, and themes through Cinnamon-Settings. Gnome-Screensaver was also forked into what is now called Cinnamon-Screensaver.
Since October 9, 2013 (version 2.0.0 onwards), Cinnamon is no longer a frontend of GNOME like Unity or GNOME Shell, but rather a completely independent desktop environment. Although Cinnamon is still heavily built on GNOME technologies and utilizes GTK, it no longer requires GNOME as a dependency in order to be installed.
Further improvements in later versions include a desktop grid, wildcard support in file searches, multi-process settings daemon, desktop actions in the panel launcher, separate processes for desktop handling and file manager in Nemo; an additional desktop panel layout option that offers a more modern looking theme and grouped windows; improved naming for duplicate applications in the menu (i.e. Flatpak vs. deb packages), pinned files in Nemo, touchpad gestures, bulk file rename of multiple files and folders using bulky, customizable context menu items in Nemo called "Actions", the ability to display user profile pictures on the panel, improved multi-monitor support in regard to open windows, better visual indicators in the system notifications tray for VPN connections, and an emphasis on performance improvements.
On November 30, 2023, version 6.0.0 of the Cinnamon desktop was released. This is the first release of Cinnamon to include an experimental Wayland session implementation, along with fractional scaling and AVIF background image support, among other improvements. On June 16, 2024, version 6.2.0 of Cinnamon was released. This release introduced the ability to add the user profile picture to the panel, along with other improvements. On November 28, 2024, version 6.4.0 of Cinnamon was released. This release introduced redesigned dialog prompts using the Clutter toolkit rather than GTK. In addition, A "Night Light" blue light filter was introduced to potentially reduce eye strain and improve sleep quality when an end user is using Cinnamon during night time.

## Software components
### X-Apps

In 2016, Cinnamon started to use X-Apps, which are a collection of applications developed by the Linux Mint team as an alternative to GNOME Core Applications but intended to work across different GTK-based desktop environments such as but not limited to Cinnamon, Budgie, Pantheon, Unity, MATE, and XFCE; most of these applications have a traditional user interface (UI), for example, using a menu bar instead of a header-bar. The Linux Mint team is currently in the process of transitioning development for X-Apps applications from being part of the Linux Mint development process to being a completely independent project. Most of them are forks of GNOME Core Applications:
* Timeshift is a system restore utility used to undo undesired system changes through the use of snapshots via BTRFS or rsync.
* Blueberry is a graphical frontend for the CLI gnome-bluetooth library.
* Xed is a text editor based on Pluma
* Xviewer is an image viewer based on Eye of GNOME
* Xreader is a document viewer based on Atril
* Xplayer is a media player based on GNOME Videos (Totem)
* Pix is an image organizer based on gThumb
* gnome-online-accounts-gtk is a graphical online account manager for GTK-based desktop environments other than GNOME, due to recent changes in the GNOME Online Accounts package that now requires other desktop environments to be based on GTK4 rather than GTK3.
* libxapp is a Python and C-based software library that provides the resources needed for applications in the X-Apps project to work across different desktop environments.

## Features

Features provided by Cinnamon include
* Desktop effects, including animations, transition effects and transparency using composition;
* Panels equipped with a main menu, launchers, a window list and the system tray can be adjusted on left, right, upper or lower edge of the screen
* Various extensions;
* Applets that appear on the panel
* Overview with functions similar to that in GNOME Shell; and
* Settings editor for easy customization. It can customize:
** The panel
** The calendar
** Themes
** Desktop effects
** Applets
** Actions
** Extensions
* Volume and brightness adjustment using scroll wheel while pointing at the respective taskbar icon.
* Hot corners on the screen
As of 4 December 2024, there is no official documentation for Cinnamon itself. The 2016 documentation for the Cinnamon edition of Linux Mint does have a small chapter on the Cinnamon desktop.

### Extensibility

Cinnamon can be modified by themes, applets, desklets, actions, and extensions. Themes can customize the look of aspects of Cinnamon, including but not limited to the menu, panel, calendar and run dialog. Applets are icons or texts that appear on the panel. Five applets are shipped by default, and developers are free to create their own. A tutorial for creating simple applets is available. Desklets are miniature applications that one can place and run on the desktop, providing quick access to information and functionality. Actions are tasks that can be executed from the context menu of the Nemo file manager. Extensions can modify the functionalities of Cinnamon, such as providing an alternative menu to launch applications or altering the look of the Alt+Tab ↹ window switcher.
Users can find themes, applets, desklets, actions, and extensions from Cinnamon Spices, the official repository where developers can share their creations for users to download and rate.

### Overview mode

New overview modes have been added to Cinnamon 1.4. These two modes are "Expo" and "Scale", which can be configured in Cinnamon Settings.

## Adoption

| Distribution | Since version | Since date | Officially supported | Notes |
| Arch Linux | | 2013-01-31 | Yes | Also available for EndeavourOS, which uses Arch repositories. |
| Artix | | 2019-08-16 | Yes | |
| Rocky Linux | 8.3 | 2015-05-01 | Yes | |
| Debian | 7 | 2012-07-04 | Yes | |
| Fedora Linux | 18 | 2012-07-20 | Yes | Cinnamon is available as a spin or is available in the Fedora repositories. |
| FreeBSD | 10.2 | 2014-11-19 | Yes | |
| Gentoo Linux | | 2012-01-10 | Yes | |
| Linux Mint | 13 (Ubuntu-based release) 1 (LMDE) | 2011-12-20 | Yes | The Cinnamon desktop environment has been included and available in Linux Mint since version 13 in May 2012. |
| Mageia | 4 | 2012-11-23 | Yes | |
| Manjaro Linux | 18.0 | 2018-06-06 | Yes | Manjaro now officially supports Cinnamon besides Xfce, KDE Plasma 5, and GNOME. Manjaro Community Editions are maintained by members of the Manjaro community, they offer additional user interfaces over the official releases, including Budgie, Cinnamon, Deepin, i3, MATE, and Sway. |
| OpenMandriva | 2013.0 | 2013-01-07 | Yes | |
| openSUSE | 12.3 | 2012-09-07 | Yes | |
| Pardus | 2013 | 2012-07-04 | Yes | |
| Ubuntu | 19.10 (Ubuntu Cinnamon) 23.04 (Ubuntu Cinnamon as an official flavor) | 2019-12-04 (Ubuntu Cinnamon) | Yes | Ubuntu Cinnamon is an official Ubuntu derivative that utilizes the Cinnamon desktop environment. |
| Void Linux | | 2012-08-09 | Yes | |

## Reception

In their review of Linux Mint 17, Ars Technica described Cinnamon 2.2 as "being perhaps the most user-friendly and all-around useful desktop available on any platform."
In their review of Linux Mint 18, ZDNet said "You can turn the Linux Mint Cinnamon desktop into the desktop of your dreams."
In their review of Linux Mint 22, It's FOSS praised Cinnamon 6.0 by stating "Linux Mint complements its name as a refreshing offering in the world of Linux distributions. It does not fail to provide useful features while trying to add modern components to the desktop experience."

## Gallery

* Cinnamon 4.0 Menu showing on Linux Mint 19.1 Tessa.
* Cinnamon 1.6 showing an Alt-Tab thumbnails and window previews.
* Cinnamon 1.6 showing a Notification Applet.
* Cinnamon 1.6 showing a Workspace OSD.
* Cinnamon Control Center in Cinnamon 4.0.10
* Demonstration of Cinnamon running on LMDE 6