[kcmkwin/kwindecoration] Draw decoration buttons over the decoration palette
AbandonedPublic

Authored by davidedmundson on Jan 31 2019, 5:58 PM.

Details

Reviewers
None
Group Reviewers
KWin
Summary

The breeze buttons adapt to the used colour scheme. They expect to be drawn over
the "Active Titlebar" colour defined by the user.

In the KCM we're mixing roles from the window deco with classic window palette roles.
This leads to a situation where we can draw white on white (or black on black etc)

The KCM currently attempts to resolve this by blending the current decorated button
with the foreground colour text. Unfortunately if you have a white decoration button,
black text and a grey window this ultimately just ends up being grey-on-grey.

This patch instead renders the buttons over the same background used in the
actual window decoration for maximum contrast.

Test Plan

Opened KCM

Diff Detail

Repository
R108 KWin
Branch
origin-master (branched from master)
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 7728
Build 7746: arc lint + arc unit
davidedmundson created this revision.Jan 31 2019, 5:58 PM
Restricted Application added a project: KWin. · View Herald TranscriptJan 31 2019, 5:58 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
davidedmundson requested review of this revision.Jan 31 2019, 5:58 PM

another sneaky fixup

zzag added a subscriber: zzag.Jan 31 2019, 6:10 PM

Does this revision depend on D18458?

davidedmundson planned changes to this revision.Jan 31 2019, 7:39 PM

Yes - Though whilst making screenshots I think I discovered something. I think I may have been premature in deciding what the exact problem was. I need to investigate, sorry for the noise.

davidedmundson abandoned this revision.Jan 31 2019, 8:13 PM

I'm an idiot.

D18458 is the one that introduces

The KCM currently attempts to resolve this by blending the current decorated button with the foreground colour text.

I had got confused, particularly with the way the KCMs install over the top of each other.

That part on it's own works and is an acceptable solution. I'll backport that into 5.15.