[Yakuake] Blurs behind the window if the profile color setting is enabled
Needs ReviewPublic

Authored by anemeth on Jan 24 2018, 12:05 AM.

Details

Summary

Blurs behind the window if the profile color setting is enabled.
Now that the new blur is landing (https://phabricator.kde.org/D9848) we will have much higher quality blur.
There is a patch to enable blur option in Konsole standalone too (https://phabricator.kde.org/D10015)

Depends on: D10486

Test Plan

Diff Detail

Repository
R369 Yakuake
Branch
master
Lint
No Linters Available
Unit
No Unit Test Coverage
anemeth requested review of this revision.Jan 24 2018, 12:05 AM
anemeth created this revision.
anemeth edited the summary of this revision. (Show Details)Jan 24 2018, 12:13 AM
anemeth edited the test plan for this revision. (Show Details)
anemeth added reviewers: hein, davidedmundson.
anemeth retitled this revision from Added blur option to [Yakuake] Added the option to enable blur behind the window.Jan 24 2018, 12:37 AM
dos awarded a token.Jan 24 2018, 1:39 AM
dos added a subscriber: dos.
hein requested changes to this revision.Jan 25 2018, 2:19 PM

Identical patches to this one have been written a few times and are strewn about Phabricator and ReviewBoard (defunct), but all suffer similar problems:

  • The blur setting should be part of the Konsole profile (where the transparency options are) and the blur feature implemented there, so that users of the KPart don't need to implement the blur feature redundantly.
  • That means multiple KPart instances within the same host window need to collaborate on setting the blur region.
  • Without clobbering what else the hosting process does to the blur region of the window, i.e. reading it back and doing a union.
This revision now requires changes to proceed.Jan 25 2018, 2:19 PM
dos added a comment.Jan 25 2018, 2:29 PM

Well, only if you consider blur to be a property of console itself, not the whole terminal window.

Yakuake also supports transparency in its skins, so if you do it in the console profile only, you don't get the blur behind the UI elements.

fvogt added a subscriber: fvogt.Jan 26 2018, 7:44 AM
In D10063#195951, @dos wrote:

Well, only if you consider blur to be a property of console itself, not the whole terminal window.

Yakuake also supports transparency in its skins, so if you do it in the console profile only, you don't get the blur behind the UI elements.

I guess Yakuake could read the effective blur from the active konsole profile and apply it to the UI elements separately or override the KPart's blur and apply it to the whole area.

anemeth updated this revision to Diff 27085.Feb 13 2018, 6:00 PM

Removed the blur setting from the Yakuake config menu.
Now it reads the blur status from the Konsole color profile config.

anemeth retitled this revision from [Yakuake] Added the option to enable blur behind the window to [Yakuake] Blurs behind the window if the profile color setting is enabled.Feb 13 2018, 6:04 PM
anemeth edited the summary of this revision. (Show Details)
anemeth edited the test plan for this revision. (Show Details)
hein added a comment.Feb 14 2018, 10:27 AM

I still feel pretty strongly that any correct version of this patch wouldn't actually add any code to Yakuake.

I also don't see any code handling the scenario of multiple terminals within the window (i.e. splits) using different profile settings.

@hein is right, splitting panes and using one profile with and one without the blur setting active is problematic. It is in Konsole, too, however.

This makes me think there is actually a bit of a design problem, because it's mixing the window's state with the profile's state here. As such, I think the blur setting actually shouldn't be part of the Profile settings.
We should probably see what @hindenburg and other Konsole devs think about this situation. Maybe there's a chance we can move the blur setting elsewhere. Besides resolving this conflict, I can see a good argument
for having my Konsole's background blurry, but my Yakuake's background opaque.

For now I would suggest copying Konsole's behavior, which enables/disables the blur effect depending on which pane is currently active/focused. I think this patch would actually behave the same.