Skip to content

Latest commit

 

History

History
108 lines (66 loc) · 5.21 KB

File metadata and controls

108 lines (66 loc) · 5.21 KB

CuteCosmic

Plugins to the Qt toolkit that help make Qt (and KDE) applications look and feel more at home in the COSMIC™ Desktop environment.

Currently consists of a Qt Platform Theme plugin.

Important

CuteCosmic is still experimental, but should already work reasonably well. Advanced users are encouraged to test it and report any issues.

Note

This is an unofficial project and is not in any way affiliated with or endorsed by System76, Inc.

Features

The following configuration is relayed from COSMIC settings to Qt applications:

  • Dark mode
  • Per-application dark mode override
  • High contrast mode (Qt 6.10+)
  • File dialogs
  • Icon theme
    • Including symbolic icon re-coloring to avoid dark-on-dark icons
  • Fonts
  • Color palette1

Sounds good, but how does it look?

The Qt Widgets Gallery example with the default COSMIC Light theme, Fusion style and the Pop! icon theme:

Widget Gallery in Light Mode

KDE Discover rocking the COSMIC version of the Catppuccin Macchiato Lavender theme with the Breeze style and icons:

KDE Discover in Dark Mode

Installation

From a distribution package

Some GNU/Linux distributions package CuteCosmic in their repositories. Installing it through the respective package manager tool will apply CuteCosmic to the distribution's own system-wide build of Qt and KDE, and therefore most Qt applications installed from distribution repositories.

For your convenience, see the list of known distribution packages as tracked by Repology:

Packaging status

Note that these are not maintained directly by this project, and therefore their quality cannot be vouched for.

From source

If your distribution doesn't package CuteCosmic, or you want to use it with a build of Qt other than the system-wide one, it must be built from source. To do so, you'll need a C++ compiler, the most recent Rust stable compiler, CMake and development files (headers, libraries, and tools) for Qt 6.

The project aims to support only the last three released minor versions of Qt, as well as the most recent Qt 6 LTS series (if it is not one of the three). Currently this means Qt 6.8, 6.9, 6.10 and 6.11.

Important

CuteCosmic must be built and installed separately for each installation of Qt you have. Some applications (like Qt Creator) may ship with their own installation of Qt, in addition to the system wide installation. Please also be aware that applications distributed in self-contained packages (AppImage, Flatpak, etc) also have their own Qt build, which can't be easily extended.

Important

CuteCosmic makes extensive use of private Qt APIs that are outside the scope of Qt's normal compatibility guarantees. If you update a Qt installation for which CuteCosmic was built (including patch releases), it MUST be re-built to function properly.

To build and install use a regular CMake invocation like this:

  cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
  cmake --build build -t install

You may need to add sudo to the last command if building against a system-wide Qt installation. For building against a specific Qt installation, use the path to its specific qt-cmake wrapper script instead of cmake.

Usage

If installed correctly, CuteCosmic will automatically be loaded and used when working from inside a cosmic-session.

You can force its' usage with the QT_QPA_PLATFORMTHEME environment variable, e.g:

QT_QPA_PLATFORMTHEME=cosmic /path/to/a/qt/app

If not working, troubleshoot by setting the QT_DEBUG_PLUGINS environment variable and watch the log traces to see if libcutecosmictheme.so is available and loaded.

Configuration

Most of the configuration is done using the options already present in the COSMIC Settings application.

CuteCosmic will by default use the Breeze widgets style engine if installed, or the built-in Fusion style otherwise. If you want it to use another style by default (e.g. Kvantum), you can set the CUTECOSMIC_DEFAULT_STYLE environment variable in your profile.

Contributing

Issue reports and code contributions are gratefully accepted. Please do not send unsolicited Pull Requests, please first propose patch ideas and plans in the relevant issue (or open an issue if one doesn't already exists).

License

Copyright 2025 - 2026 Igor Khanin.

Made available under the GPL v3 license.

Prior Art

Other third party Qt integration plugins:

Footnotes

  1. Requires enabling the toolkit theming option in COSMIC settings. Most KDE applications require a restart after theme change.