How to Customize Window Decorations with Cinnamon Desktop on Linux Mint

Learn how-to customize window decorations with Cinnamon Desktop Environment on Linux Mint.

Linux Mint’s Cinnamon desktop environment offers extensive customization options, allowing users to personalize their computing experience. One of the most impactful visual changes you can make is customizing your window decorations. This guide will walk you through the process of modifying window themes, borders, buttons, and other decorative elements in Cinnamon.

Understanding Window Decorations

Window decorations in Cinnamon consist of several key elements:

  • Title bars: The top portion of windows containing the window title and control buttons
  • Window borders: The frames surrounding application windows
  • Control buttons: Minimize, maximize, and close buttons
  • Window shadows: The drop shadow effects around windows
  • Title bar buttons layout: The arrangement and style of window control buttons

Basic Theme Installation

Before diving into detailed customization, you should know how to install new window decoration themes. Cinnamon supports two primary methods:

Method 1: Using System Settings

  1. Open System Settings (Menu → System Settings)
  2. Navigate to “Themes”
  3. Click on the “Add/Remove” button in the Window Borders section
  4. Browse available themes and click “Install” on ones you like
  5. Return to the Themes section to apply your newly installed theme

Method 2: Manual Installation

  1. Download your desired theme (usually as a .zip file)
  2. Extract the theme to ~/.themes/ or /usr/share/themes/
  3. The theme should appear in System Settings → Themes → Window Borders

Advanced Customization Options

Modifying Title Bar Height

To adjust the height of your window title bars:

  1. Navigate to System Settings → Windows
  2. Look for “Title Bar Height” under the “Size” section
  3. Adjust the slider to your preferred height
  4. Changes will apply immediately to all windows

Customizing Button Layout

Cinnamon allows you to rearrange and modify window control buttons:

  1. Open System Settings → Windows
  2. Find “Button Layout” under the “Buttons” section
  3. Choose between several preset layouts or create a custom arrangement
  4. To create a custom layout:
    • Use the following symbols: X (close), M (maximize), N (minimize)
    • Separate left and right groups with a colon (:)
    • Example: “N:MX” places minimize on the left, maximize and close on the right

Fine-tuning Window Borders

For precise control over window borders:

  1. Open System Settings → Windows
  2. Adjust “Border Size” to modify the thickness of window frames
  3. Enable or disable “Edge Tiling” to control window snapping behavior
  4. Modify “Window Focus Mode” to change how windows are activated

Creating Custom Themes

For users wanting complete control, creating custom themes is possible:

  1. Start by copying an existing theme:
cp -r /usr/share/themes/Mint-Y ~/.themes/MyCustomTheme
  1. Edit the metacity-1/metacity-theme-3.xml file in your theme directory:
nano ~/.themes/MyCustomTheme/metacity-1/metacity-theme-3.xml
  1. Modify key elements:

    • <frame_geometry>: Controls window dimensions
    • <draw_ops>: Defines how elements are drawn
    • <button>: Specifies button appearance
    • <frame_style>: Sets overall window style
  2. Update theme colors in gtk-3.0/gtk.css:

    • Modify color variables
    • Adjust gradients and shadows
    • Change border properties

Using CSS for Additional Customization

Cinnamon supports custom CSS for fine-grained control:

  1. Create or edit ~/.config/gtk-3.0/gtk.css
  2. Add custom CSS rules, for example:
.window-frame {
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.titlebar {
    background: linear-gradient(to bottom, #404040, #303030);
    color: #ffffff;
}

Performance Considerations

When customizing window decorations, keep in mind:

  • Complex themes with heavy transparency and shadows may impact system performance
  • Large title bar heights can reduce usable screen space
  • Some applications may not respect all custom theme settings
  • Regular theme updates might override custom modifications

Troubleshooting Common Issues

If you encounter problems:

  1. Reset to default theme:

    • Open System Settings → Themes
    • Select “Mint-Y” or another default theme
    • Log out and back in
  2. Clear theme cache:

rm -rf ~/.cache/cinnamon
  1. Check for theme compatibility:

    • Ensure themes are compatible with your Cinnamon version
    • Read theme documentation for specific requirements
  2. Fix broken themes:

    • Compare problematic themes with working ones
    • Check permissions on theme files
    • Verify XML syntax in theme files

Maintaining Your Customizations

To keep your customizations working across updates:

  1. Back up your custom themes and configurations:
cp -r ~/.themes ~/themes_backup
cp -r ~/.config/gtk-3.0 ~/gtk3_backup
  1. Document your modifications:

    • Keep notes on custom CSS changes
    • Save button layouts and other settings
    • Track which themes you’ve modified
  2. Regular maintenance:

    • Check for theme updates
    • Remove unused themes
    • Update custom themes for new Cinnamon versions

By following this guide, you can create a unique and personalized window decoration setup in Cinnamon. Remember to experiment with different combinations of settings to find what works best for your workflow and aesthetic preferences.


Last modified 20.02.2025: new kotlin and mint content (93a1000)