[gnome-shell] workspaceThumbnails: Delay workspace removal while collapsing
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] workspaceThumbnails: Delay workspace removal while collapsing
- Date: Fri, 19 Feb 2021 01:24:20 +0000 (UTC)
commit 7b1b04f95aeb15a7edf3e1ea00b9a3b097c1bc1d
Author: Florian Müllner <fmuellner gnome org>
Date: Wed Feb 17 09:54:14 2021 +0100
workspaceThumbnails: Delay workspace removal while collapsing
Animating a thumbnail removal while also collapsing the minimap
itself doesn't look good, so keep the stale thumbnail until the
minimap is hidden.
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3739
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1696>
js/ui/workspaceThumbnail.js | 9 +++++++++
1 file changed, 9 insertions(+)
---
diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js
index b06e60209a..03e97f1752 100644
--- a/js/ui/workspaceThumbnail.js
+++ b/js/ui/workspaceThumbnail.js
@@ -691,6 +691,11 @@ var ThumbnailsBox = GObject.registerClass({
global.display.connect('workareas-changed',
this._updatePorthole.bind(this));
+ this.connect('notify::visible', () => {
+ if (!this.visible)
+ this._queueUpdateStates();
+ });
+
this._switchWorkspaceNotifyId = 0;
this._nWorkspacesNotifyId = 0;
this._syncStackingId = 0;
@@ -1122,6 +1127,10 @@ var ThumbnailsBox = GObject.registerClass({
if (this._animatingIndicator)
return;
+ // Likewise if we are in the process of hiding
+ if (!this._shouldShow && this.visible)
+ return;
+
// Then slide out any thumbnails that have been destroyed
this._iterateStateThumbnails(ThumbnailState.REMOVING, thumbnail => {
this._setThumbnailState(thumbnail, ThumbnailState.ANIMATING_OUT);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]