Created attachment 163153 [details] Depiction of the problem. SUMMARY The relatively new 1-pixel window border doesn't appear to render on windows created by `plasmashell`. I don't know why. STEPS TO REPRODUCE 1. Add a panel, or: 3. Invoke a plasmoid. OBSERVED RESULT No border. EXPECTED RESULT The border should render. These are windows like any other, so they're just as difficult to differentiate from the background without the border. SOFTWARE/OS VERSIONS Operating System: openSUSE Tumbleweed 20231108 KDE Plasma Version: 5.27.9 KDE Frameworks Version: 5.111.0 Qt Version: 5.15.11 Kernel Version: 6.5.9-1-default (64-bit) Graphics Platform: X11 Processors: 12 × AMD Ryzen 5 7600X 6-Core Processor Memory: 30.5 GiB of RAM Graphics Processor: AMD Radeon RX 5700 Manufacturer: ASRock Product Name: X670E Taichi ADDITIONAL INFORMATION https://discuss.kde.org/t/any-idea-why-my-plasmashell-windows-are-missing-a-window-border/7258/2?u=rokejulianlockhart
The https://bugs.kde.org/page.cgi?id=fields.html#importance probably shouldn't be "NOR Wishlist" on second thought, because this seems more like a bug to me than a missing feature due to its inability to be configured and the fact that it's an exception without any obvious supportive rationale. However, Wishlist is at least a safer bet.
(In reply to `{third: "Beedell", first: "Roke"}`{.JSON5} from comment #0) > SUMMARY > The relatively new 1-pixel window border doesn't appear to render on windows > created by `plasmashell`. I don't know why. > > STEPS TO REPRODUCE > 1. Add a panel, or: > 3. Invoke a plasmoid. > > OBSERVED RESULT > No border. > > EXPECTED RESULT > The border should render. These are windows like any other, so they're just > as difficult to differentiate from the background without the border. Per https://discuss.kde.org/t/any-idea-why-my-plasmashell-windows-are-missing-a-window-border/7258/6?u=rokejulianlockhart, perhaps this should be moved to https://bugs.kde.org/enter_bug.cgi?product=Breeze.
The line has been implemented for app windows using the Breeze Window Decoration theme. Plasma's internal windows (popups, notifications, etc) don't respect the window decoration theme for a variety of intentional design reasons. These Plasma windows do in fact have a line border as well, it's just not as visually obvious as the one used for app windows.
(In reply to Nate Graham from comment #3) > The line has been implemented for app windows using the Breeze Window > Decoration theme. Plasma's internal windows (popups, notifications, etc) > don't respect the window decoration theme for a variety of intentional > design reasons. > > These Plasma windows do in fact have a line border as well, it's just not as > visually obvious as the one used for app windows. Is that decision explained anywhere? I'd like it to be reconsidered, so at the very least I should try to understand why it was decided.
It should regardless be able to be enabled for the sake of accessibility. Being able to make the window decorations usable for someone with impaired vision but plasmashell not respecting that is nonsensical.
No, it's not explained anywhere. Not everything is or even needs to be explained. If developers explained every reason behind every aspect of the system, they would spend all their time doing that, and no time actually developing it. Life's too short. :)
(In reply to Nate Graham from comment #6) > No, it's not explained anywhere. Not everything is or even needs to be > explained. If developers explained every reason behind every aspect of the > system, they would spend all their time doing that, and no time actually > developing it. Life's too short. :) But I think there's a darn good reason for it not to be this way - it makes seeing plasmashell windows as difficult as it used to be before the border was implemented. Why not just introduce an accessibility flag to provide this, or at least not disregard the idea?
Created attachment 169415 [details] `noborderrule=2` KWin Rule inactive (in Wayland). PNG instead of TIFF, so it's more easily viewable.
It's reasonable to ask for the Breeze Plasma theme to have a more visually obvious border, but that's not what you asked for. :) You asked for KWin to draw the border. This is unfortunately not feasible as it would conflict with Plasma themes' ability to draw their own borders, which at this point cannot be removed or else 3rd-party themes could get broken.
(In reply to Nate Graham from comment #9) I see. Introducing breaking changes for a 3rd-party ecosystem is a landmine field I wouldn't wish for my worst enemy to have to manage. Consequently, would you consider continuing (under the hood) to allow Plasma to draw its own window borders, but have it inherit the preferences from KWin (by default)? A simple checkbox, or an override automatically enabled when anything except Breeze is in use, would appear to provide this. However, if that's infeasible, I'd be glad to know why, if you're willing. Otherwise, since I'll certainly be using Plasma for the rest of my life, perhaps consider putting this at least as a consideration for a breaking change for Plasma 7, irrespective of when that might be shipped. However, I can't see why this would be preferable (except for perfectionist consistency in the relevant codepaths).
The conceptual problem is that Plasma-themed dialogs panels etc. are allowed to draw whatever they want. They can draw a border, or not. Their border can be a 1px line, or it can be a 5px dashed stroke, or it can be a line of pink fluffy bunny fuzz (literally, check out the Plasma theme named "Fluffy Bunny"). As a result, KWin can't reason about where it would draw a border itself. Making KWin draw borders for Plasma UI elements would basically require throwing out the existing Plasma theming system entirely. Personally I'm on board with that; I find it to be highly problematic. But that's also just my opinion, and this is not something you do lightly. Hopefully that explanation makes sense.
(In reply to Nate Graham from comment #11) That does, to a point. Might there be a VDG issue on Invent about your wider gripe about the ecosystem, which you've referenced? I don't really think that it's suitable for solely the shell to provide that level of customisation - that should be something that the window manager allows the user to do everywhere, which isn't really what KWin's designed for (to my knowledge).
Not formally, no.
Created attachment 172079 [details] `noborderrule=2` KWin Rule active. Whilst testing https://trac.wildfiregames.com/ticket/6939#comment:5, I've found a workaround on X11 - `noborderrule=2`. Unfortunately, solely on X11, per https://bugs.kde.org/show_bug.cgi?id=452240#c1. However, it didn't work on Plasma 5, so it's at least an improvement.
Created attachment 172080 [details] `noborderrule=2` KWin Rule active in X11. This is the correct window to demonstrate it, per the previous attachment.