A comprehensive theme management script that provides a unified theming experience across different desktop environments and applications on Linux systems.
makedown supports theming for:
- GNOME desktop environment
- GTK 3 applications
- GTK 4 applications
- Qt 5 applications
- Qt 6 applications
- Flatpak GTK 3 applications
- Flatpak GTK 4 applications
makedown main features:
- Automatic theme detection and mapping
- Interactive theme selection via GUI
- Command-line interface for automation
Most available themes do not provide full support for all required components (GTK3, GTK4, Kvantum, GNOME Shell, etc.). It is common for a theme to look great in GTK3 applications but lack proper styling for GTK4 or Kvantum (Qt) apps, or vice versa.
Even the default GNOME (Adwaita) theme does not look exactly the same between GTK3 and GTK4 applications.
For the most consistent experience, choose themes that explicitly mention support for all relevant toolkits and desktop environments, or consider mixing and matching similar-looking themes for GTK and Qt. Always review the theme's documentation and test it on your system to ensure it meets your needs.
However, the following themes offer excellent compatibility and consistent appearance across all supported toolkits and environments.
or if you want Apple like desktop you can try WhiteSur (GTK) | (KDE)
zenity- For GUI dialogsgsettings- For GNOME theme configurationkvantummanager- For Qt theme managementstylepak- For Flatpak theme generation (optional)
makedown tries to set some nescessary flatpak overrides if they are not set, already:
filesystem=xdg-config/gtk-3.0
filesystem=xdg-config/gtk-4.0
filesystem=$THEMES_DIR
These operations require root (administrator) privileges. If you do not have root access, please contact your system administrator to perform these actions for you.
If your desired theme doesn't have a Flatpak pack, makedown can create GTK3 packs on-the-fly using stylepak:
- Download stylepak from: https://github.com/refi64/stylepak
- Install it somewhere in your
$PATH - makedown will automatically use it when needed
makedown uses Kvantum for Qt application theming. After installing kvantummanager, add these lines to your shell profile (.profile, .bashrc, or .zshrc):
export QT_QPA_PLATFORMTHEME=kvantum
export QT_STYLE_OVERRIDE=kvantum- Copy the
makedownscript to any directory in your$PATH(e.g.,/usr/local/bin/or~/bin/) - Make it executable:
chmod +x makedown
# Clone or download the repository
git clone https://github.com/dincsi/makedown.git
cd makedown
# Copy to local bin directory
mkdir -p ~/bin
cp bin/makedown ~/bin/
chmod +x ~/bin/makedown
# Add ~/bin to PATH if not already present
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc- If you want to add a desktop icon/launcher:
- Copy the
share/applications/makedown.desktopfile to your local applications directory:mkdir -p ~/.local/share/applications cp share/applications/makedown.desktop ~/.local/share/applications/
- Copy the
share/pixmaps/makedown.pngicon file to your local pixmaps directory:mkdir -p ~/.local/share/icons cp share/pixmaps/makedown.png ~/.local/share/icons/
- Copy the
- You can modify the
THEMES_DIRandCONFIG_DIRvariables in the script if you use custom locations
- Go to the Releases page and download the latest
makedown.debfile. - Install the package with:
sudo dpkg -i makedown.deb sudo apt-get install -f # (optional, to fix dependencies)
Launch the GUI theme selector in terminal:
makedownor click on the makedown icon:
This will:
- Show a dialog to select from available GTK themes
- Automatically filter and show matching Kvantum themes if exists
- Apply all theme settings across the system
If you know exactly which themes to apply:
makedown THEME_NAME [KVANTUM_THEME_NAME]Examples:
makedown "Yaru"
makedown "WhiteSur-Light" "WhiteSur"
makedown "Colloid-Light" "Colloid"makedown includes automatic theme mapping for popular themes:
Colloid-Light→Colloid(Kvantum)WhiteSur-Light→WhiteSur(Kvantum)Yaru→KvYaru(Kvantum)
- User themes:
~/.themes/ - System themes:
/usr/share/themes/ - User Kvantum themes:
~/.config/Kvantum/ - System Kvantum themes:
/usr/share/Kvantum/
The main limitation of modern desktop theming is that GTK4 has limited theming support compared to GTK3. We recommend:
- Start with a GTK4-compatible theme that also supports GTK3
- Copy the theme to your
~/.themes/directory - Find or create a matching Kvantum theme and place it in
~/.config/Kvantum/ - Use makedown to apply the theme consistently across all applications
A complete theme should include:
~/.themes/YourTheme/
├── gtk-3.0/
│ ├── gtk.css
│ └── gtk-dark.css
├── gtk-4.0/
│ ├── gtk.css
│ └── gtk-dark.css
├── gnome-shell/
│ └── gnome-shell.css
└── assets/
└── (theme assets)
~/.config/Kvantum/YourKvantumTheme/
├── YourKvantumTheme.kvconfig
└── YourKvantumTheme.svg
- Theme not applying: Try logging out and back in, or restart the session with
Alt+F2→r - Flatpak apps not themed: Ensure flatpak overrides are set correctly
- Qt apps not themed: Verify Kvantum environment variables are set
- GNOME Shell theme not working: Install and enable the User Themes extension
- No titlebar buttons on flatpak Thunderbird: Set
mail.tabs.drawInTitlebarto false
Some theme changes require a session restart. You can:
- Log out and log back in
- Restart GNOME Shell:
Alt+F2→ typer→ Enter
Feel free to contribute by:
- Adding support for more theme mappings
- Improving error handling
- Adding support for additional desktop environments
- Reporting bugs or suggesting features
This project is open source. Please check the license file for details.





