Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • KWin KWin
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 58
    • Issues 58
    • List
    • Boards
    • Service Desk
    • Milestones
  • Bugzilla
    • Bugzilla
  • Merge requests 149
    • Merge requests 149
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PlasmaPlasma
  • KWinKWin
  • Merge requests
  • !2088

Add new blend effect

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged David Edmundson requested to merge work/blendeffect into master Mar 03, 2022
  • Overview 30
  • Commits 1
  • Pipelines 10
  • Changes 8

When changing global settings like switching between light and dark themes the result is currently quite messy. Apps update in a scattered order and a jarring change.

The solution is heavily inspired (copied) from Gnome, we cache the window for X milliseconds, then perform a crossfade between the cache and current contents.

It does mean any video is paused for half a second, but pragmatically it's not really bothersome. We know the user is primarily interacting with system settings at this point in time.

On receipt of an explicit DBus method call we create a cache and start animating. The explicit method call is needed so that we can guarantee kwin has a fully copy before a client might change.

Use of an offscreen texture is used so that we include any window decorations. The DeformEffect effect is repurposed as it has most the relevant logic if we remove the live updating.

output

effect-2022-03-03_22.24.03.mkv

Video taken with the obvious one liner in p-w


In the future this could also do QStyle changes / decoration changes / anything. The kwin side is very agnostic - though we have an issue that some changes cause kwin to restart effects.

Edited Mar 03, 2022 by David Edmundson
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: work/blendeffect