Proposal: Kirigami, QQuickStyle, Window backgrounds
Michael Martin Moro
michael at planed.es
Sat Jan 31 00:21:06 GMT 2026
Hi !
Some time last year, I implemented a very simple QQuickStyle for Oxygen.
However, Kirigami applications wouldn't display the iconic gradient
background, as Kirigami Pages feature their own background. Upon further
inspection, I figured a/the reason why that background was enforced:
StackView transitions between pages required it, as a transparent
background visually breaks the transitions.
I came up with the following patch:
https://invent.kde.org/plaristote/kirigami
First thing it does, is getting rid of the Page's custom background,
which allows the Window's background to be visible (at least when the
Window component is used, which isn't always the case: I believe
systemsettings is an instance of that).
Since that breaks the page transitions, it also uses ShaderEffect on the
Page element, which duplicates the Window's background, as an underlay,
updating the offset as the transition updates, so the background remains
still. The effect gets enabled when the StackView status for the page is
either Activating or Deactivating.
Lastly, I added a test at tests/BackgroundTest.qml, which creates a
Window using a background with flashy colors in a gradient: opening a
new page should show the page's content being effectively hidden or
revealed by the next page, as it slides over the previous page, all
while the background seems to remain still.
I'm not quite sure how acceptable that would be. It can't be as
efficient as displaying a plain background. And I don't have a device to
check just how that behaves on limited hardware running Plasma
Mobile. I'm also not sure how to start a pull request, assuming that is
even appropriate at this point.
I'm hoping to get some pointers from the people directly involved with
the KDE frameworks.
Cheers !
More information about the kde-core-devel
mailing list