kwin/effects
Vlad Zagorodniy 6a7e780d74 [effects] Rewrite the Glide effect
Summary:
There are several reasons why I "re-wrote" the Glide effect:
* it doesn't work correctly because it suffers from undesired perspective distortions: {F5914378}
   The worst part is that windows are distorted so much on multiple monitor setups that it's hard to say whether that's glide animation.
* window close animation is not quite intuitive: if the close button is
  located at the top and I click it, I would expect that window is
  rotated around the bottom edge, not the top; (IMHO)
* it's too much distracting when working on something for quite good
  amount of time: e.g. when editing photos, which involves a big number
  of different dialogs;
* there are issues with deletion of QTimeLine;
* windows are not gracefully released if some other effect grabs them;
* its code doesn't follow common coding style in KWin.

So, the "new" Glide effect is more subtle, it's possible to have
different rotation edges for window open/close animations, it doesn't
animate special windows(like audio volume feedback), the code is simpler
and readable. Yet, there are some issues with QTimeLine, which are
common to all effects in KWin anyway.

### Demos

{F5889803}
//Window Open Animation//

{F5889804}
//Window Close Animation//

{F5889805, layout=center, size=full}
//KCM//

CCBUG: 394245

Test Plan:
* Enabled the Glide effect
* Closed System Settings
* Opened it again

Reviewers: #kwin, #plasma, #vdg, davidedmundson

Reviewed By: #kwin, #plasma, #vdg, davidedmundson

Subscribers: ngraham, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13338
2018-07-24 22:10:10 +03:00
..
backgroundcontrast [effects/backgroundcontrast] Calculate correct y-coord of the copy rect 2018-05-17 02:51:50 -07:00
blur SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
colorpicker Scaling support in ColorPicker effect 2017-04-28 10:23:13 +01:00
coverswitch SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
cube SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
desktopgrid SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
dialogparent SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
diminactive SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
dimscreen [effects/dimscreen] Use QSet for checking whether activated window asks for permissions 2018-06-09 12:27:52 +03:00
eyeonscreen SVN_SILENT made messages (.desktop file) - always resolve ours 2018-06-18 07:25:30 +02:00
fade SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
fadedesktop SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
fallapart [effects/fallapart] Fade out window parts 2018-06-14 16:38:12 +03:00
flipswitch SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
frozenapp SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
glide [effects] Rewrite the Glide effect 2018-07-24 22:10:10 +03:00
highlightwindow [effects] Support xcbConnectionChanged for support properties 2017-09-12 18:53:31 +02:00
invert SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
kscreen [effects/kscreen] Port to TimeLine 2018-07-05 23:00:27 +03:00
login SVN_SILENT made messages (.desktop file) - always resolve ours 2018-05-18 05:45:28 +02:00
logout SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-15 05:21:01 +02:00
lookingglass SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
magiclamp SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
magnifier SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
maximize SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
minimizeanimation [effects/minimizeanimation] Port to TimeLine 2018-06-30 10:41:14 +03:00
morphingpopups SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
mouseclick SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
mousemark SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
presentwindows SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
resize SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
scalein SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
screenedge [ScreenEdgeEffect] Create glow Svg on demand 2017-09-28 10:18:36 +02:00
screenshot Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
sheet [effects/sheet] Drop IsSheetWindow hack 2018-07-21 10:44:18 +03:00
showfps SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
showpaint [effects] Use shader traits in ShowPaint effect 2016-01-25 14:11:54 +01:00
slide SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
slideback [effects] Ignore previous state of WindowForceBlurRole 2018-06-19 15:23:41 +03:00
slidingpopups [effects/slidingpopups] Use single QHash to store animations 2018-07-23 16:34:29 +03:00
snaphelper [effects] Use shader traits in SnapHelper effect 2016-01-25 14:11:54 +01:00
startupfeedback Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
thumbnailaside SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
touchpoints Fix unused-parameter warnings as reported by GCC 2017-07-28 21:31:09 +02:00
trackmouse SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
translucency SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
windowaperture SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
windowgeometry SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
wobblywindows SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
zoom SVN_SILENT made messages (.desktop file) - always resolve ours 2018-07-23 05:24:40 +02:00
CMakeLists.txt [effects/slide] Add 'Duration' option 2018-01-01 16:54:02 +02:00
Messages.sh Remove temporary file 2008-07-02 07:04:51 +00:00
effect_builtins.cpp [effects] Use more effectData() in BuiltInEffects 2018-06-18 16:28:57 +03:00
effect_builtins.h [effects] Add a colorpicker effect 2016-11-25 09:30:34 +01:00
kwineffect.desktop SVN_SILENT made messages (.desktop file) - always resolve ours 2017-03-25 06:02:34 +01:00
logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
shaders.qrc Removed the "fastblur" path 2018-02-03 19:04:11 +01:00