keyboard: Use translation-y property for focus window animations

Just the intermediate state, we still need to synchronize visual and
real window position after the animation.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1668>
This commit is contained in:
Carlos Garnacho 2021-02-12 00:53:21 +01:00 committed by Marge Bot
parent 3346e9923b
commit 8526776b4a

View File

@ -1856,6 +1856,10 @@ var Keyboard = GObject.registerClass({
_windowSlideAnimationComplete(window, delta) {
// Synchronize window positions again.
const windowActor = window.get_compositor_private();
if (windowActor)
windowActor.translation_y = 0;
let frameRect = window.get_frame_rect();
frameRect.y += delta;
window.move_frame(true, frameRect.x, frameRect.y);
@ -1869,7 +1873,7 @@ var Keyboard = GObject.registerClass({
if (show) {
windowActor.ease({
y: windowActor.y - deltaY,
translation_y: -deltaY,
duration: KEYBOARD_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => {
@ -1878,7 +1882,7 @@ var Keyboard = GObject.registerClass({
});
} else {
windowActor.ease({
y: windowActor.y + deltaY,
translation_y: deltaY,
duration: KEYBOARD_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_IN_QUAD,
onComplete: () => {