Bug 490951 - Title bar divider doesn't render on some windows.
Summary: Title bar divider doesn't render on some windows.
Status: RESOLVED INTENTIONAL
Alias: None
Product: Breeze
Classification: Plasma
Component: QStyle (other bugs)
Version First Reported In: 6.1.3
Platform: Fedora RPMs Linux
: NOR minor
Target Milestone: ---
Assignee: Plasma Bugs List
URL: https://discuss.kde.org/t/why-is-the-...
Keywords:
Depends on:
Blocks:
 
Reported: 2024-07-28 21:38 UTC by Roke Julian Lockhart Beedell
Modified: 2024-07-30 23:27 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
Screenshot depicting no divider beneath title bar in plasmoid. (59.47 KB, image/png)
2024-07-28 21:39 UTC, Roke Julian Lockhart Beedell
Details
Screenshot depicting no divider beneath title bar in Steam. (12.54 KB, image/png)
2024-07-28 21:40 UTC, Roke Julian Lockhart Beedell
Details
Screenshot depicting no divider beneath title bar in Discover. (26.82 KB, image/png)
2024-07-28 21:40 UTC, Roke Julian Lockhart Beedell
Details
Screenshot depicting divider beneath title bar. (41.80 KB, image/png)
2024-07-28 21:43 UTC, Roke Julian Lockhart Beedell
Details
Screenshot depicting divider beneath title bar in directory file picker. (41.75 KB, image/png)
2024-07-28 21:43 UTC, Roke Julian Lockhart Beedell
Details
Screenshot depicting divider beneath title bar in file picker. (42.46 KB, image/png)
2024-07-28 21:43 UTC, Roke Julian Lockhart Beedell
Details
Screenshot depicting divider beneath title bar in KWin window decoration dialogue. (41.15 KB, image/png)
2024-07-28 21:44 UTC, Roke Julian Lockhart Beedell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Roke Julian Lockhart Beedell 2024-07-28 21:38:59 UTC
SUMMARY  
The title bar divider doesn't render on some windows. It should, considering that https://bugs.kde.org/show_bug.cgi?id=455248#c0 has now been implemented by default. Otherwise, as the attached image demonstrates, the title bars are both difficult to separate from the content despite usually being differently coloured (so they're not seamless anyway, as if they were imitating GNOME's CSD) nor are they visually distinct, in a manner consistent with that new border.

STEPS TO REPRODUCE  
> ```Py
> #!/usr/bin/env python
> import sys
> from PyQt6.QtWidgets import QApplication, QMainWindow
> 
> app = QApplication(sys.argv)
> window = QMainWindow()
> window.show()
> app.exec()
> ```

...produces a border, whereas:

> ```Py
> #!/usr/bin/env python
> import sys
> from PyQt6.QtWidgets import QApplication, QWidget
> 
> app = QApplication(sys.argv)
> window = QWidget()
> window.show()
> app.exec()
> ```

...does not.

OBSERVED RESULT  
It doesn't render in Discover, Steam, or any of the PlasmaShell Plasmoids (attached to panels) with the `noborderrule=2` KWin rule enabled.

EXPECTED RESULT  
It should render on all windows, since all windows now have a 1 px outline.

SOFTWARE/OS VERSIONS  
Operating System: Fedora Linux 40
KDE Plasma Version: 6.1.3
KDE Frameworks Version: 6.4.0
Qt Version: 6.7.2
Kernel Version: 6.9.11-200.fc40.x86_64 (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  
Render the title bar separator in KWin (not QMainWindow). Ideally, this should be controlled using a boolean dependent upon whether the colour intensity setting implemented with https://bugs.kde.org/show_bug.cgi?id=465948#c0 is "Off" or not, rather than individual application opt-in.
Comment 1 Roke Julian Lockhart Beedell 2024-07-28 21:39:55 UTC
Created attachment 172083 [details]
Screenshot depicting no divider beneath title bar in plasmoid.
Comment 2 Roke Julian Lockhart Beedell 2024-07-28 21:40:33 UTC
Created attachment 172084 [details]
Screenshot depicting no divider beneath title bar in Steam.
Comment 3 Roke Julian Lockhart Beedell 2024-07-28 21:40:45 UTC
Created attachment 172085 [details]
Screenshot depicting no divider beneath title bar in Discover.
Comment 4 Roke Julian Lockhart Beedell 2024-07-28 21:43:32 UTC
Created attachment 172086 [details]
Screenshot depicting divider beneath title bar.
Comment 5 Roke Julian Lockhart Beedell 2024-07-28 21:43:48 UTC
Created attachment 172087 [details]
Screenshot depicting divider beneath title bar in directory file picker.
Comment 6 Roke Julian Lockhart Beedell 2024-07-28 21:43:59 UTC
Created attachment 172088 [details]
Screenshot depicting divider beneath title bar in file picker.
Comment 7 Roke Julian Lockhart Beedell 2024-07-28 21:44:22 UTC
Created attachment 172089 [details]
Screenshot depicting divider beneath title bar in KWin window decoration dialogue.
Comment 8 Roke Julian Lockhart Beedell 2024-07-28 21:54:30 UTC
(In reply to Roke Julian Lockhart Beedell from comment #0)
https://discuss.kde.org/t/why-is-the-titlebar-content-division-line-a-feature-of-mainwindow-rather-than-kwins-breeze-decoration/18412/1?u=rokejulianlockhart explains this better.
Comment 9 Roke Julian Lockhart Beedell 2024-07-28 21:55:51 UTC
Comment on attachment 172083 [details]
Screenshot depicting no divider beneath title bar in plasmoid.

Really, this one can be ignored. It's solely relevant to me because of https://bugs.kde.org/show_bug.cgi?id=476996#c15. I'll remove it.
Comment 10 Nate Graham 2024-07-30 20:48:57 UTC
The divider line is the app's responsibility to position where it makes the most sense — typically below the lowest window-spanning UI elements (menubar, toolbar, tab bar, etc, or right below the titlebar). Only the app is in a position to know which of these makes the most sense.
Comment 11 Roke Julian Lockhart Beedell 2024-07-30 21:14:33 UTC
(In reply to Nate Graham from comment #10)
Would you accept this as an enhancement, then? Considering that the title bar is usually a different shade to the rest of the app's GUI (and rendered independently), it does look strange to me that it's not logically divided from the rest of the application. Thanks for the triage anyway.
Comment 12 Nate Graham 2024-07-30 21:23:27 UTC
What would the enhancement look like, asking the titlebar to draw the separator line? This would make sense if the app itself doesn't have anything right below the titlebar that should be visually merged with the titlebar. The problem is that the app knows that, but the titlebar can't. Teaching them communicate isn't a thing that really makes sense. since the communication would break if you use a different app style or window decoration theme.
Comment 13 Roke Julian Lockhart Beedell 2024-07-30 21:54:53 UTC
(In reply to Nate Graham from comment #12)
Yeah, it wouldn't be feasible to intelligently enable it across GUI toolkits.

I think for me, I would always want it to render, since it shows where the title bar ends. I find that useful, since it distinguishes it better. Would a toggle to enable that be acceptable, like there currently is for the window outlines themselves (the 1px ones rendered as part of the shadow)?
Comment 14 Nate Graham 2024-07-30 23:23:37 UTC
We had that in the past. For a brief moment it was on by default, and it was universally hated. We turned it off by default, and then later removed it under the generic rubric of "we want fewer off-by-default features that aren't generally popular or useful anyway".

So no, sorry.
Comment 15 Roke Julian Lockhart Beedell 2024-07-30 23:27:12 UTC
(In reply to Nate Graham from comment #14)
Thanks.