diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index 775b687..f4ea781 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -2312,6 +2312,7 @@ StScrollBar StButton#vhandle:active { font-weight: bold; color: #666666; padding-top: 1em; + padding-left: 2px; } .login-dialog-not-listed-button:focus .login-dialog-not-listed-label, diff --git a/js/gdm/util.js b/js/gdm/util.js index 6075e66..cae3e1b 100644 --- a/js/gdm/util.js +++ b/js/gdm/util.js @@ -164,6 +164,7 @@ const ShellUserVerifier = new Lang.Class({ answerQuery: function(serviceName, answer) { if (!this._userVerifier.hasPendingMessages) { + this._clearMessageQueue(); this._userVerifier.call_answer_query(serviceName, answer, this._cancellable, null); } else { let signalId = this._userVerifier.connect('no-more-messages', diff --git a/js/ui/components/telepathyClient.js b/js/ui/components/telepathyClient.js index b07ea95..72bc010 100644 --- a/js/ui/components/telepathyClient.js +++ b/js/ui/components/telepathyClient.js @@ -18,7 +18,7 @@ const Params = imports.misc.params; const PopupMenu = imports.ui.popupMenu; // See Notification.appendMessage -const SCROLLBACK_IMMEDIATE_TIME = 60; // 1 minute +const SCROLLBACK_IMMEDIATE_TIME = 3 * 60; // 3 minutes const SCROLLBACK_RECENT_TIME = 15 * 60; // 15 minutes const SCROLLBACK_RECENT_LENGTH = 20; const SCROLLBACK_IDLE_LENGTH = 5; @@ -967,7 +967,8 @@ const ChatNotification = new Lang.Class({ let timeLabel = this._append({ body: this._formatTimestamp(lastMessageDate), group: 'meta', styles: ['chat-meta-message'], - childProps: { expand: true, x_fill: false }, + childProps: { expand: true, x_fill: false, + x_align: St.Align.END }, noTimestamp: true, timestamp: lastMessageTime }); diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js index d322581..ed61bf7 100644 --- a/js/ui/endSessionDialog.js +++ b/js/ui/endSessionDialog.js @@ -420,6 +420,7 @@ const EndSessionDialog = new Lang.Class({ _startTimer: function() { let startTime = GLib.get_monotonic_time(); this._secondsLeft = this._totalSecondsToStayOpen; + this._updateDescription(); this._timerId = Mainloop.timeout_add_seconds(1, Lang.bind(this, function() { diff --git a/js/ui/layout.js b/js/ui/layout.js index 0bb887e..e25b3bd 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -728,6 +728,8 @@ const LayoutManager = new Lang.Class({ // and shown otherwise) addChrome: function(actor, params) { this.uiGroup.add_actor(actor); + if (this.uiGroup.contains(global.top_window_group)) + this.uiGroup.set_child_below_sibling(actor, global.top_window_group); this._trackActor(actor, params); }, diff --git a/js/ui/osdWindow.js b/js/ui/osdWindow.js index 7e7b536..7fa052e 100644 --- a/js/ui/osdWindow.js +++ b/js/ui/osdWindow.js @@ -167,14 +167,17 @@ const OsdWindow = new Lang.Class({ { opacity: 0, time: FADE_TIME, transition: 'easeOutQuad', - onComplete: Lang.bind(this, this._reset) }); + onComplete: Lang.bind(this, function() { + this._reset(); + Meta.enable_unredirect_for_screen(global.screen); + }) + }); }, _reset: function() { this.actor.hide(); this.setLabel(null); this.setLevel(null); - Meta.enable_unredirect_for_screen(global.screen); }, _monitorsChanged: function() { diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js index fe9cd31..4264f01 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -709,6 +709,8 @@ const ScreenShield = new Lang.Class({ }, _onDragEnd: function(action, actor, eventX, eventY, modifiers) { + if (this._lockScreenState != MessageTray.State.HIDING) + return; if (this._lockScreenGroup.y < -(ARROW_DRAG_THRESHOLD * global.stage.height)) { // Complete motion automatically let [velocity, velocityX, velocityY] = this._dragAction.get_velocity(0); diff --git a/src/st/st-widget.c b/src/st/st-widget.c index 42992ec..4875acc 100644 --- a/src/st/st-widget.c +++ b/src/st/st-widget.c @@ -608,8 +608,9 @@ st_widget_get_theme_node (StWidget *widget) if (stage == NULL) { - g_error ("st_widget_get_theme_node called on the widget %s which is not in the stage.", - st_describe_actor (CLUTTER_ACTOR (widget))); + g_critical ("st_widget_get_theme_node called on the widget %s which is not in the stage.", + st_describe_actor (CLUTTER_ACTOR (widget))); + return g_object_new (ST_TYPE_THEME_NODE, NULL); } if (parent_node == NULL)