Bug 379637 - breeze-gtk should draw shadows for client-side-decorated windows
Summary: breeze-gtk should draw shadows for client-side-decorated windows
Status: UNCONFIRMED
Alias: None
Product: Breeze
Classification: Unclassified
Component: gtk theme (show other bugs)
Version: 5.9.5
Platform: openSUSE RPMs Linux
: NOR wishlist
Target Milestone: ---
Assignee: scionicspectre
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-08 19:33 UTC by Nate Graham
Modified: 2017-09-05 21:16 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2017-05-08 19:33:05 UTC
There are many issues with how GTK implements Client-Side Decorations: https://bugzilla.gnome.org/show_bug.cgi?id=729721.

One such issue: GTK programs with CSD that are using the breeze-gtk theme don't get drawn with shadows.

However, it seems like this is theoretically fixable with a patch to breeze-gtk. In a related GTK bug report (https://bugzilla.gnome.org/show_bug.cgi?id=729794), Matthias Clasen--a lead GTK developer--says the following on this subject: 

"As you've found out, we already let the theme creators configure the applications appearance, including the shadows."

Can we just have breeze-gtk hint to KWin that window shadows need to be drawn?
Comment 1 scionicspectre 2017-05-09 04:35:23 UTC
Unfortunately, it's not really so simple. We can write shadows appropriately for WMs which interact well with the nonstandard hints GTK CSDs are using. However, from my basic understanding, they conflict with KWin's current architecture and fail to conform to a stable implementation. This is part of why ARGB doesn't function as desired to round off window corners, for instance. In the case of shadows, that would result in a thick, fully opaque border around every CSD window.

In a brief discussion I had with Martin, he made it fairly clear that the amount of work required to use unsupported hints like these isn't trivial and would potentially be wasted as minor changes could break such functionality.

Unless he changes his mind about that, or I've misunderstood him, it's unlikely we'll see a resolution to this without some extra work on GTK itself.