Bug 426663

Summary: Widget settings windows have separator line under titlebar
Product: [Plasma] plasmashell Reporter: Adam Fontenot <adam.m.fontenot+kde>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED FIXED    
Severity: normal CC: nate, plasma-bugs-null
Priority: NOR    
Version First Reported In: 5.19.5   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: screenshot of problem

Description Adam Fontenot 2020-09-18 01:20:36 UTC
Created attachment 131737 [details]
screenshot of problem

SUMMARY

I have "Draw separator under active window's titlebar" disabled in my settings for the breeze them, so I'm not talking about that. I mean I permanent grey line that appears under the titlebar of these widget settings windows regardless of whether the window is focused.

I believe these windows should look like the System Settings window, i.e. no line under the title bar if that is disabled in the Breeze settings. I've included a screenshot to show what it actually looks like.

SOFTWARE/OS VERSIONS
Linux: 5.8.5-arch-1 (x86_64)
KDE Plasma Version: 5.19.5
KDE Frameworks Version: 5.73.0
Qt Version: 5.15.1

ADDITIONAL INFORMATION

I wasn't exactly sure where to put this bug. My guess is that it's an issue with the Qt form used for these widgets specifically, not a Breeze bug, so I've put the bug in plasmashell since I think it owns the widgets.
Comment 1 Nate Graham 2020-09-18 21:00:58 UTC
This is an intentional design choice. We plan to eventually do the same for all windows (in a manner that will be able to be turned off globally). For now this has to stay until the final feature is rolled out. :)
Comment 2 Adam Fontenot 2020-09-20 08:22:19 UTC
@Nate: Just for clarification, is the design choice to have one separator under the active window, and another one for inactive windows, and eventually to add settings for disabling them both?

Because to my eye, when I enable "Draw separator under active window's titlebar" I believe I can actually see *both* lines if I look closely enough, which means the active separator is being drawn on top of the inactive one. It's rather odd looking.
Comment 3 Nate Graham 2020-09-21 04:20:45 UTC
So let me offer a bit of background.

The "draw line under the titlebar" setting is a KWin thing. KWin doesn't know what the window content is, only the window decoration (e.g. the titlebar). So when KWin draws a line, it is always under the titlebar itself irrespective of what is below it. This can look nice if the titlebar has a color that deliberately contrasts with the window content underneath it, but otherwise it can look quite ugly due to the bright color chosen, which is why it was unpopular and we disabled it by default (and I would support removing the feature entirely).

What we're going for in Plasma 5.21 is a unified look for the titlebar and the menubar/toolbar content below it, with a subtle separator line separating this area from what's underneath it. This requires some intelligence, and it has to be in the widget theme itself. So now the window knows if there's no menubar or toolbar, that it needs to draw the separator line itself at the very top of its frame, so it would appear right underneath the titlebar. But if the window does have a menubar or any toolbars, it will draw the line underneath them. So you see, the KWin-generated line is not involved at all.

And yes, all of this will be disable-able in the Breeze widget theme settings so if you want a 100% unibody line-less look, you can get it.

Hopefully that helps and isn't waaaaaaaay too much information. :)
Comment 4 Adam Fontenot 2021-05-21 01:38:13 UTC
(In reply to Nate Graham from comment #3)
> So let me offer a bit of background.
> 
> The "draw line under the titlebar" setting is a KWin thing. KWin doesn't
> know what the window content is, only the window decoration (e.g. the
> titlebar). So when KWin draws a line, it is always under the titlebar itself
> irrespective of what is below it. This can look nice if the titlebar has a
> color that deliberately contrasts with the window content underneath it, but
> otherwise it can look quite ugly due to the bright color chosen, which is
> why it was unpopular and we disabled it by default (and I would support
> removing the feature entirely).
> 
> What we're going for in Plasma 5.21 is a unified look for the titlebar and
> the menubar/toolbar content below it, with a subtle separator line
> separating this area from what's underneath it. This requires some
> intelligence, and it has to be in the widget theme itself. So now the window
> knows if there's no menubar or toolbar, that it needs to draw the separator
> line itself at the very top of its frame, so it would appear right
> underneath the titlebar. But if the window does have a menubar or any
> toolbars, it will draw the line underneath them. So you see, the
> KWin-generated line is not involved at all.
> 
> And yes, all of this will be disable-able in the Breeze widget theme
> settings so if you want a 100% unibody line-less look, you can get it.
> 
> Hopefully that helps and isn't waaaaaaaay too much information. :)

I'm still seeing this issue as of 5.21.5. Is adding the setting you mention in the Breeze widget theme settings still a WIP? Should I file a new bug for that?