Consider including gtk3-nocsd package in Kubuntu ISO/default install
Closed, WontfixPublic

Description

The gtk3-nocsd package improves the usability of GTK programs with client-side decorations by having KWin render a titlebar and shadow for them, and transforming the headerbar into a toolbar right below the titlebar. The effect is vastly superior to the way GTK apps using CSDs appear normally in Plasma (no window shadow, no inactive window state, square corners, can't close if unresponsive).

ngraham created this task.Aug 18 2017, 8:40 PM

It seems to be packaged and is being sync'ed from Debian, please see https://launchpad.net/ubuntu/+source/gtk3-nocsd

Sorry, wrong terminology. It is indeed packaged; consider *including it by default.

ngraham renamed this task from Consider packaging gtk3-nocsd in Kubuntu to Consider including gtk3-nocsd in Kubuntu by default.Aug 18 2017, 8:47 PM

you mean on the iso?

ngraham renamed this task from Consider including gtk3-nocsd in Kubuntu by default to Consider including gtk3-nocsd package in Kubuntu ISO/default install.Aug 18 2017, 8:49 PM

Can you maybe explain or point me in the direct of some documentation as to why someone would what this installed?

If it does what ngraham says it does, and it is small, of course we should include it.

ngraham added a comment.EditedAug 18 2017, 9:40 PM

Basically it makes GTK-based apps with client-side decorations not look and feel terrible when run under KWin in Plasma.

There's some basic documentation at https://github.com/PCMan/gtk3-nocsd, and there's also a set of screenshots there showing the effect on Gedit in XFCE with Xwfm. The effect is much more pronounced in KWin, as KWin deliberately does not implement the hacks required to make CSD-decorated windows look good, so they look terrible.

For example, here is GNOME's Dconf editor without this package installed:

There is no window border shadow, the corners are square, the appearance doesn't change at all when it's inactive, the close button doesn't work if it hangs, and the buttons do not follow what Breeze sets.

And here's how the same program looks with the package installed:

Much better, IMHO. It actually looks and behaves mostly proper in a KWin+Plasma environment.

If you read through the bugs I've linked to above, as well as the umbrella bug, you'll see that the correct way to implement this has become somewhat of a holy war, with the GTK folks insisting that all window managers adopt how they've specified it, and KWin's artin Flöser arguing (unsuccessfully) that there should be and should have been some kind of standard spec. This disagreement seems unlikely to ever be resolved, and so it is now up to distros and users to improve the user experience of CSD-decorated GTK apps run under KWin.

clivej moved this task from Backlog to Ready 4 Work on the Kubuntu board.Aug 18 2017, 9:55 PM
clivej triaged this task as Wishlist priority.
clivej added a subscriber: rikmills.

Ok, so the iso was generated last night and now contains gtk3-nocsd

http://cdimage.ubuntu.com/kubuntu/daily-live/current/

Please test this.

Tested. It works great! There's one tweak we should make to further improve the UI and make them look really natural: https://phabricator.kde.org/T6823

Also, while testing, I found a typo in the installer: https://phabricator.kde.org/T6822

ngraham closed this task as Resolved.Aug 19 2017, 2:29 PM
ngraham claimed this task.
ngraham added a comment.EditedSep 5 2017, 2:43 PM

It's not actually a second title bar, it just looks like one. Either way, that that regression will be resolved with https://phabricator.kde.org/T6823

Or we can just revert the whole thing, which would be a shame.

rikmills added a comment.EditedSep 5 2017, 2:52 PM

Or we can just revert the whole thing, which would be a shame.

I appreciate how you feel, but honestly seems like we are contemplating layering one not really great hack on top of another, to try to fix issues caused by the 1st, and not achieving a really better result, and regressing wider KDE apps integration with the breeze look and feel.

Real issue seems to be the way Kwin deals with CSD apps, and the real fix lies somewhere there if KDE feels inclined.

So I am +1 for reverting this and returning to the status quo, imperfect as that was for a small selection of apps that we don't support.

I can respect that decision, but I disagree that we're not achieving a better result. GTK apps not looking and working right in KDE is a really common complaint. It's GTK's fault, but that doesn't preclude us from fixing it as much as we can. Isn't that what distros are for?

The problem is that this will never be resolved programmatically. I've read through all the mailing list threads and bug reports. There is a philosophical difference between the GTK and KWin folks, and neither side is willing to budge. There is simply a 0% chance of the problem going away via software changes. If there's to be any improvement in the state of affairs, it's up to users to fix it themselves (really bad user experience) or distros to pre-package hacky fixes, which is what we're attempting to do here.

rikmills closed this task as Wontfix.Sep 7 2017, 11:18 AM

Change in seed and meta now reverted.

If the Breeze GTK theme (which we want to keep), Kwin, or GTK get some love to fix the border issue in CSD apps, then perhaps this can be revived.