Animate quick tiling outline
ClosedPublic

Authored by broulik on Mar 31 2017, 1:29 PM.

Details

Summary

When quick tiling animate the outline from the window geometry to the position it would have afterwards.
This provides a visual hint to from where to where the window will go.

Test Plan

The outline window size is a union of target and destination size and the animation itself is done in QML, ie. no window position is animated.
Due to this, when the outline is already shown (e.g. dragging the window along a side of the screen) it jumps into new position without an animation like before.
Also, in order to facilitate the initial animation, it first calls show() on the outline and then sets active true after which QML will animate.
The non-composited outline is unchanged.

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
broulik created this revision.Mar 31 2017, 1:29 PM
Restricted Application added a project: KWin. · View Herald TranscriptMar 31 2017, 1:29 PM
Restricted Application added subscribers: kwin, plasma-devel. · View Herald Transcript
broulik edited the test plan for this revision. (Show Details)Mar 31 2017, 1:34 PM
broulik added a reviewer: VDG.
graesslin added inline comments.
geometry.cpp
3257

I'm not sure whether geometry() always provides the correct geometry you want to have. I think moveResizeGeometry() would be the better choice here.

+1, I like the new animation.
It adds information without introducing any new "clutter" or slow down

broulik updated this revision to Diff 13729.Apr 24 2017, 9:06 AM
  • Use moveResizeGeometry()
Restricted Application edited projects, added Plasma; removed KWin. · View Herald TranscriptApr 24 2017, 9:06 AM
graesslin accepted this revision.Apr 24 2017, 6:54 PM
This revision is now accepted and ready to land.Apr 24 2017, 6:54 PM
kvermette accepted this revision.Apr 24 2017, 7:57 PM
kvermette added a subscriber: kvermette.

The movement clearly shows that the window will resize better than a strict fade. +1!

On a side note, and this may be a separate revision to consider later, but we may want to animate the transition as you move a window along the edge into different hot-spots. Right now there's no transition at all, and it may be good to use a transform effect similar to how we treat Plasma tooltips. But that may be for another revision, as this is a marked improvement on its own and gets my vote.

This revision was automatically updated to reflect the committed changes.