This directory contains GTK3 and GTK4 theme files for the Candi design system, compatible with both X11 and Wayland.
The Candi GNOME theme provides a cohesive visual experience across GTK applications:
- Nordic Design: Hygge warmth and Lagom balance.
- OKLCH Color Space: Perceptually uniform colors converted to CSS.
- GTK3 and GTK4: Comprehensive support for modern GNOME applications.
- Color Modes: Automatic switching between light and dark variants.
- Platform Support: Verified compatibility with X11 and Wayland.
Install the theme for your user account only:
# Create themes directory if it doesn't exist
mkdir -p ~/.themes
# Copy the Candi theme
cp -r gnome ~/.themes/Candi
# Or create a symlink (useful for development)
ln -s /path/to/candi/gnome ~/.themes/CandiInstall the theme for all users (requires sudo):
sudo cp -r gnome /usr/share/themes/Candi-
Install GNOME Tweaks:
# Ubuntu/Debian sudo apt install gnome-tweaks # Fedora sudo dnf install gnome-tweaks # Arch sudo pacman -S gnome-tweaks
-
Open GNOME Tweaks
-
Navigate to "Appearance" → "Themes"
-
Set "Applications" to "Candi"
-
For dark mode, enable "Dark Mode" in the "Appearance" section
# Set GTK theme
gsettings set org.gnome.desktop.interface gtk-theme "Candi"
# Enable dark mode (GTK will automatically use gtk-dark.css)
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
# Disable dark mode (use light theme)
gsettings set org.gnome.desktop.interface color-scheme "prefer-light"Some modern GNOME applications use libadwaita, which has its own theming system. You can force them to use your theme:
# Create config directory
mkdir -p ~/.config/gtk-4.0
# Copy theme to GTK4 config
cp gnome/gtk-4.0/gtk.css ~/.config/gtk-4.0/gtk.css
cp gnome/gtk-4.0/gtk-dark.css ~/.config/gtk-4.0/gtk-dark.css
# Set environment variable (add to ~/.bashrc or ~/.zshrc)
export GTK_THEME=Candignome/
├── index.theme # Theme metadata
├── gtk-3.0/
│ ├── gtk.css # Light theme for GTK3
│ └── gtk-dark.css # Dark theme for GTK3
└── gtk-4.0/
├── gtk.css # Light theme for GTK4
└── gtk-dark.css # Dark theme for GTK4
GNOME automatically switches between light and dark themes based on your system preference:
- Open GNOME Settings
- Navigate to "Appearance"
- Toggle "Dark Mode" on or off
GTK applications will automatically load gtk-dark.css when dark mode is enabled.
The theme uses these semantic color tokens:
| Token | Light | Dark | Usage |
|---|---|---|---|
theme_bg_color |
Warm white | Warm dark | Window backgrounds |
theme_base_color |
Pure white | Card surface | Input fields, views |
theme_fg_color |
Warm charcoal | Off-white | Primary text |
theme_selected_bg_color |
Steel blue | Lighter steel | Selected items |
borders |
Soft grey | Dark grey | Borders, separators |
link_color |
Deep blue | Sky blue | Hyperlinks |
warning_color |
Amber | Light amber | Warnings |
error_color |
Terracotta | Light terracotta | Errors |
success_color |
Forest green | Light green | Success states |
All colors are derived from the Candi design system's OKLCH color space, ensuring perceptual uniformity and accessibility.
To customize the theme:
-
Edit the source colors in
src/data/colors.js -
Rebuild the theme:
npm run build:gnome
-
Restart your GTK applications or re-apply the theme
- GTK3: 3.20 and later
- GTK4: 4.0 and later
- GNOME Shell: All versions (theme affects applications only, not Shell itself)
- Display Servers: X11 and Wayland
- Ensure the theme is installed in
~/.themes/Candior/usr/share/themes/Candi - Check that
index.themeexists in the theme directory - Restart GNOME Tweaks
- Verify the theme files are up to date:
npm run build:gnome - Check for theme caching:
rm -rf ~/.cache/gtk-* - Restart your GTK applications
- Ensure dark mode is enabled in GNOME Settings
- Check the setting:
gsettings get org.gnome.desktop.interface color-scheme - Verify
gtk-dark.cssexists in both gtk-3.0 and gtk-4.0 directories
- Copy theme files to
~/.config/gtk-4.0/ - Set
GTK_THEME=Candienvironment variable - Note: Some libadwaita apps may ignore custom themes by design
Candi also provides themes for:
- KDE Plasma: See kde-theme.md
- VS Code: See vscode-theme.md
- Vim: See vim-theme.md
- Flutter: See flutter-integration.md
All themes share the same OKLCH color palette for a consistent experience across platforms.