KDE Review: Union and cxx-rust-cssparser
Arjen Hiemstra
ahiemstra at quantumproductions.info
Thu Feb 26 10:07:28 GMT 2026
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
More information about the kde-core-devel
mailing list