KDE Review: Union and cxx-rust-cssparser
Arjen Hiemstra <[email protected]> Thu, 26 Feb 2026 11:07:28 +0100
| Newsgroups | gmane.comp.kde.devel.plasma,gmane.comp.kde.devel.core |
|---|---|
| Message-ID | <23017248.EfDdHjke4D@evermine> |
Hello all, I'd like to start the review process for two projects, Union and its dependency cxx-rust-cssparser. The relevant review issues are https:// invent.kde.org/plasma/union/-/issues/115 for Union and https://invent.kde.org/ libraries/cxx-rust-cssparser/-/issues/3 for cxx-rust-cssparser. Union is a new style engine that intends to unify styling between the various styling implementations we currently have, covering both QtQuick and QtWidgets. It uses CSS as input format, though it is designed to allow multiple input formats. The CSS input is powered by cxx-rust-cssparser which is a thin C++ wrapper around a rust-based CSS parser built upon the rust "cssparser" crate. The current state is that we have a near-complete implementation of a QtQuick style, along with a fairly complete implementation of Breeze in CSS. There is also Kirigami integration on the QtQuick side. The QtWidgets side is still rather limited, we can only style buttons at the moment. There will be more progress there once we're finished with the QtQuick side. The plan is to release Union along with Plasma 6.7, at the very least as a "tech preview", but hopefully in such a state that we can start replacing our other QtQuick styles. After a few releases I hope to make it a framework that replaces all our styles, including the QtWidgets side. To get to that state we'll need more testing however. If you want to help test, running a QtQuick application with `QT_QUICK_STYLE=org.kde.union` after building should run it with Union's QtQuick style. If you find any issues, do let us know. - Arjen