Remove Context Help button by default

Authored by ngraham on Sep 6 2018, 4:14 AM.


Group Reviewers

Sadly, today in 2018, the Context Help window decoration button is not very useful. Few KDE apps actually properly support the feature for mor than a tiny fraction of their UI, and no non-KDE apps do at all. So when you click on the button and mouse over various parts of an app's UI, you mostly see the red crossed our circle cursor. Not very useful.

We had a conversation about this during the VDG BoF at this year's Akademy and there seemed to be general agreement that this window decoration button is not very useful anymore. So let's remove it from the default set of window decoration buttons.

Test Plan

Apply patch, create new user account, log in as new user, open a window, notice no Context Help button

Diff Detail

R108 KWin
remove-context-help-button-by-default (branched from master)
No Linters Available
No Unit Test Coverage
Build Status
Buildable 2549
Build 2567: arc lint + arc unit
ngraham created this revision.Sep 6 2018, 4:14 AM
Restricted Application added a project: KWin. · View Herald TranscriptSep 6 2018, 4:14 AM
Restricted Application added a subscriber: kwin. · View Herald Transcript
ngraham requested review of this revision.Sep 6 2018, 4:14 AM
cfeck added a subscriber: cfeck.Sep 6 2018, 4:29 AM

I remember a time where the button was only shown for windows that actually offered context help. Not sure why it is now always visible.

abetts added a subscriber: abetts.Sep 6 2018, 4:48 AM

This button works half the time. Seems unnecessary these days. +1

broulik added a subscriber: broulik.EditedSep 6 2018, 11:15 AM

I always remove it from my window decoration also. However, I don't think we should just remove it.

The button is only shown when a window sets Qt::WindowContextHelpButtonHint.
As far as I can tell it is set by ksysguard (which has quite elaborate quick help btw!) , kinfocenter, systemsettings, spectacle (for some reason) and others.
It is also automatically added by Qt for any dialog windows, with a comment in the code

// ### fixme: Qt 6: Never set Qt::WindowContextHelpButtonHint flag automatically

There is an attribute AA_DisableWindowContextHelpButton that you can set on the QApplication to disable this.
I think we should set this attribute in plasma-integration and then look at all the apps that explicitly set this flag and decide whether it should be removed or the quick help texts fixed/extended.

I don't know if QML supports it, though, but I doubt it (it's old desktop stuff, and who wants desktops anyway lol), maybe Kirigami could even implement this, if deemed useful.

davidedmundson requested changes to this revision.Sep 6 2018, 1:37 PM
davidedmundson added a subscriber: davidedmundson.

This doesn't actually change the default, it just changes the KCM's default so they're out of sync.

From a code POV it needs work.

As a concept, Kai's comments on the situation seem sensible.

This revision now requires changes to proceed.Sep 6 2018, 1:37 PM
ngraham abandoned this revision.Sep 25 2018, 4:07 AM

Kai convinced me that we can't do this just yet, or at least not in this form.