apply blur to windows using Konsole as KPart
Changes PlannedPublic

Authored by progwolff on Jun 17 2018, 11:19 AM.

Details

Reviewers
anemeth
hein
hindenburg
Group Reviewers
Konsole
Summary

This is an alternative to D10063 trying to enable blur behind windows using Konsole as a KPart, e.g. Yakuake.
This is done by moving the relevant code from MainWindow to ViewController, which is used by both MainWindow and Part.

BUG: 395520

Test Plan

Build and install Konsole with this patch applied. Run Konsole and Yakuake using a transparent profile. Both windows should have a blur effect applied.

Diff Detail

Repository
R319 Konsole
Branch
master
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 75
Build 75: arc lint + arc unit
progwolff created this revision.Jun 17 2018, 11:19 AM
Restricted Application added a project: Konsole. · View Herald TranscriptJun 17 2018, 11:19 AM
Restricted Application added a subscriber: konsole-devel. · View Herald Transcript
progwolff requested review of this revision.Jun 17 2018, 11:19 AM

In D10063 @hein raised a problem that is an (IMHO very very) edge case when the user has a split terminal (for example in Yakuake) that has different profiles with blur enabled and disabled:

Solving this problem and handling all kinds of blur area calculations would be relatively easy if it was Yakuake specific, but since this affects all applications that use Konsole part you would have to calculate blur areas of the app window itself and you can't do that in the Konsole part code.
For this you would have to rewrite how blur area is calculated in KWin. I think this is too much task for this edge case, and this patch would satisfy almost all users.

Switching tabs in Yakuake with blur enabled and disabled profiles is also broken. I believe this can be solved in Konsole part, in Part::activeViewChanged() like this https://github.com/KDE/konsole/blob/master/src/MainWindow.cpp#L249

progwolff planned changes to this revision.Jun 17 2018, 5:24 PM
pkloc added a subscriber: pkloc.Oct 31 2018, 9:36 PM