From 0d766dcf701a7051af502c82bdce82fc05629a15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 14 Feb 2020 21:10:04 +0100 Subject: [PATCH] authPrompt: Use placeholder label to avoid layout changes We don't want to show a caps-lock warning when showing a non-password entry, but we also don't want the layout to jump when changing the label's visibility. Achieve that by inserting an empty placeholder label that we can show whenever the caps-lock warning is hidden. https://gitlab.gnome.org/GNOME/gnome-shell/issues/2215 --- js/gdm/authPrompt.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js index 6edb2694a..9a8cf44bf 100644 --- a/js/gdm/authPrompt.js +++ b/js/gdm/authPrompt.js @@ -85,12 +85,19 @@ var AuthPrompt = GObject.registerClass({ this._initEntryRow(); + let capsLockPlaceholder = new St.Label(); + this.add_child(capsLockPlaceholder); + this._capsLockWarningLabel = new ShellEntry.CapsLockWarning({ x_expand: true, x_align: Clutter.ActorAlign.CENTER, }); this.add_child(this._capsLockWarningLabel); + this._capsLockWarningLabel.bind_property('visible', + capsLockPlaceholder, 'visible', + GObject.BindingFlags.SYNC_CREATE | GObject.BindingFlags.INVERT_BOOLEAN); + this._message = new St.Label({ opacity: 0, styleClass: 'login-dialog-message',