[windowswitchers] QML replacement for flipswitch and coverswitch
Rewrite of the flipswitch and coverswitch window switchers in QMl, using the KWin Tabbox API and PathView to layout the thumbnails.
While these 3D effects come from a different visual era (that we all love), the use of common Plasma components, following the user's theme, and lack of reflections IMHO gives the effects a more modern (breezy) look, consistent with the user's desktop and the other tabswitchers.
For a visual taste:
Flip-Switch | Cover-Switch |
---|---|
qml_flipswitch_2 | qml_coverswitch_2 |
BUG:443757 BUG:184874 BUG:404802 BUG:321324 CCBUG:330529
List of previous ~~pending~~ tasks
Thumbnails:
-
Thumbnails are sometimes not fully rendered, just a transparent window. This also happens with other window switchers, but it's not as noticeable/important thereThis seems caused by me resetting kwin every time to test the changes, so it hasn't have the time to recreate the thumbnails. It shouldn't impact a lot on regular use
-
Thumbnails don't display shadows for windows that doesn't have them (as fullscreen windows). This looks bad when presented on 3D. Added external shadow using
Kirigami.ShadowedRectangle
Lack of information about window size/aspect ratio
-
Cannot set a hightlight around the window -
Some apparent alignment issues, where vertical windows can look misplaced due to the perspective
Animations:
-
Non-smooth animation on CoverSwitch. Items from the lateral jumps from/to the central point -
Cover Switch: make transient paths cubic instead of linear (quadratic was enough IMO) -
There's an unwanted initial animation, when the currentIndex is first set -
The movement direction needs to be the opposite when reverse tabbing. (Workaround bug on PathView when 3 items: https://bugreports.qt.io/browse/QTBUG-15314)
Visual refinements:
-
FlipSwitch: Windows look too close to one another -
CoverSwich: The rotation angle can make hard to see the window content