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:
parent
3346e9923b
commit
8526776b4a
@ -1856,6 +1856,10 @@ var Keyboard = GObject.registerClass({
|
|||||||
|
|
||||||
_windowSlideAnimationComplete(window, delta) {
|
_windowSlideAnimationComplete(window, delta) {
|
||||||
// Synchronize window positions again.
|
// Synchronize window positions again.
|
||||||
|
const windowActor = window.get_compositor_private();
|
||||||
|
if (windowActor)
|
||||||
|
windowActor.translation_y = 0;
|
||||||
|
|
||||||
let frameRect = window.get_frame_rect();
|
let frameRect = window.get_frame_rect();
|
||||||
frameRect.y += delta;
|
frameRect.y += delta;
|
||||||
window.move_frame(true, frameRect.x, frameRect.y);
|
window.move_frame(true, frameRect.x, frameRect.y);
|
||||||
@ -1869,7 +1873,7 @@ var Keyboard = GObject.registerClass({
|
|||||||
|
|
||||||
if (show) {
|
if (show) {
|
||||||
windowActor.ease({
|
windowActor.ease({
|
||||||
y: windowActor.y - deltaY,
|
translation_y: -deltaY,
|
||||||
duration: KEYBOARD_ANIMATION_TIME,
|
duration: KEYBOARD_ANIMATION_TIME,
|
||||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||||
onComplete: () => {
|
onComplete: () => {
|
||||||
@ -1878,7 +1882,7 @@ var Keyboard = GObject.registerClass({
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
windowActor.ease({
|
windowActor.ease({
|
||||||
y: windowActor.y + deltaY,
|
translation_y: deltaY,
|
||||||
duration: KEYBOARD_ANIMATION_TIME,
|
duration: KEYBOARD_ANIMATION_TIME,
|
||||||
mode: Clutter.AnimationMode.EASE_IN_QUAD,
|
mode: Clutter.AnimationMode.EASE_IN_QUAD,
|
||||||
onComplete: () => {
|
onComplete: () => {
|
||||||
|
Loading…
Reference in New Issue
Block a user