SUMMARY Kind of relates to breeze light and kind of relates to the drawing code. Because with Breeze light the window decoration color is now a shade of grey, different from the shade of grey that is the main window there is a super disturbing visual clash between the decoration and the window, when the window has no tool areas that. Such as: calamares, kcolorchooser. STEPS TO REPRODUCE 1. start kcolorchooser OBSERVED RESULT Looks bad. EXPECTED RESULT Looks good SOFTWARE/OS VERSIONS Operating System: KDE neon Unstable Edition KDE Plasma Version: 5.21.80 KDE Frameworks Version: 5.80.0 Qt Version: 5.15.2 Kernel Version: 5.8.0-36-generic (64-bit) Graphics Platform: X11 Processors: 12 × AMD Ryzen 5 3600X 6-Core Processor Memory: 31,3 GiB of RAM Graphics Processor: AMD Radeon RX 5700 XT
Created attachment 136611 [details] screenshot of calamares
Created attachment 136613 [details] calamares in 5.20 times I'm also adding a 5.20 screenshot to see how the visuals were before
There's supposed to be a separator line drawn below the titlebar in this circumstance, as there is in, for example, Spectacle and the open/save dialogs.
What UI toolkit is Calamares written in? Qt with QWidgets or QML? Something else?
qwidgets
In that case there's a bug here, and we can fix it.
This happens whenever an app uses 100% of the window's surface area; leaving none for the style to use. We previously used to set a contents margins on windows without tools areas, but this was buggy and broke some apps. There's no other mechanisms for us to ensure that the window will have necessary blank space for the separator, so this is sort of unfixable from the Breeze side. This is generally fine for apps that use standard layouting and controls, but highly custom apps like Calamares that do large amounts of custom drawing and layouting won't work, because their customisation is overriding what the QStyle has to work with. If a highly custom app like this wants to fit into our visual design, the highly custom app needs to either use a more standard layout that QStyles are capable of working with, or explicitly hardcode their custom styling for Breeze. Either way, this isn't something we're capable of fixing in Breeze, due to aforementioned app breakage when we tried to carve out a pixel row for us to draw a separator in the higly custom app case.
Could we put the line on the bottom of the window decoration titlebar?
That was a long discussion we had when implementing the feature initially. The short summary is "no."
Do you remember more than that? Why can't we make the window decoration communicate with the rest of the theme? When the window under it is not being Breeze-themed, then it could draw the line. Why won't that work? IIRC Oxygen did something like that.