Cinnamon and GTK Themes: The Basics
For Linux Mint 17 Cinnamon  
( Go here for Mint 16 Cinnamon themes  )

by austin.texas

The simplest way to install a new Cinnamon theme is with the Themes manager in System Settings.
Go to System Settings > Themes > Add/Remove desktop themes > Available themes online > Refresh list
You can choose Most Popular or Latest.
The theme will be installed to your hidden folder /home/user/.themes

Of course, many more themes are available for download on various websites, such as:
cinnamon-spices  -  - - - - - -

Extract the downloaded theme from the zipped download file, and then move the extracted folder into the /home/username/.themes folder.
If /home/yourusername/.themes does not exist, you will have to create it first. Open a terminal and enter
mkdir /home/yourusername/.themes

The theme will then appear in System Settings > Themes, after refreshing the list.

Installed Themes, Other Settings, Controls, Window Borders:

To see how themes are constructed, first take a look in the Mint-X folder, /usr/share/themes/Mint-X/
You will see sub-folders, cinnamon, gtk-2.0, gtk-3.0, metacity-1, and xfwm4
xfwm4 is only for Xfce, and is not used in the Cinnamon desktop.

Cinnamon (Desktop) - Installed Themes

The cinnamon folder in /usr/share/themes/Mint-X/ contains the elements which control the Main Menu, Panel, and Calendar, and the right-click popup menus on the Panel, and a few other basic elements of the Cinnamon desktop.

The Cinnamon Themes you have installed are available in System Settings > Themes > Desktop

              Desktop Theme

Many Cinnamon themes contain only the cinnamon folder, and do not include the gtk parts, so those themes will control only the elements listed above - the Main Menu, Panel, and Calendar, and the right-click popup menus on the Panel, etc. These themes will appear only in the Desktop list.

gtk-2.0 and gtk-3.0  - Controls

The gtk-2.0 and gtk-3.0 folders contain the elements which control the theme of the program windows.
The gtk-2.0 controls the colors and fonts of the programs that rely on gtk-2.0, such as gedit, Seamonkey, VLC, Synaptic, LibreOffice, and GIMP.
The gtk-3.0 controls the colors and fonts of the programs that are built for gtk-3.0, such as Nemo and System Settings.

The GTK Themes you have installed are available in System Settings > Themes > Controls


You can download GTK3 themes from any of the websites listed above.

Any theme listed as GTK3 will also include GTK2. Themes listed as GTK2 (no GTK3) or listed as Gnome Shell will not work in Linux Mint 16 or 17.
Most themes under the "GTK3" category will work for both Unity and Gnome-shell, as well as Cinnamon. But not all GTK3 themes will work correctly. It depends on if they have been updated to work with the newest Mint version. You should be able to tell from the Comments and Changelog on the download site.

Metacity - Window Borders

The metacity-1 folder contains the elements which control the window title bar and window border for all program windows.
There is a wide variety of metacity Window Borders. Here are two unique examples, in addition to the GnomishBeige Window Border above.


              Steampunk Window Border

Often, but not always, a GTK3 theme that you download will include the metacity Window Border element. Metacity-only themes can be downloaded, as well.

Metacity Window Borders are generally made to be chameleons - that is, they magically change their colors according to their surroundings!

Here is one metacity Window Border, GnomishBeige, with the GnomishBeige gtk3 Controls.

              Beige Window Border

And here is the same metacity Window Border, GnomishBeige, with my Rainy Day Blues gtk3 Controls.

              with Rainy Day Blues

The chameleon metacity Window Border has changed it's color to match the blue gtk Controls theme.

Sometimes, you will have to refresh Cinnamon ( Alt-F2 > r ) to see the effect when you change Window Borders.

Root Programs

When you install a gtk theme, it will control the theme of the programs that you run, as detailed above. However, the themes that you have installed in /home/yourusername/.themes will not control any program that you run as Administrator (root).

When you start Software Sources or Synaptic or any other program that requires root privileges, you are not operating as "user" anymore, you are someone else - root. If you want root to use the same theme you are using in other programs, you have to copy or move that theme to /usr/share/themes

Alternatively, you can create a link to your theme in /usr/share/themes. That has the advantage of making it simpler to make changes to your theme. You only have to make the change in /home/yourusername/.themes/MyTheme, instead of editing MyTheme in both locations.
I want root to use My Favorite Theme in /home/myusername/.themes/My Favorite Theme. So I create a link to that theme with this command in a terminal:
sudo ln -s /home/myusername/.themes/"My Favorite Theme" /usr/share/themes/"My Favorite Theme"
Now, when I open Synaptic, it is using My Favorite Theme.