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>
This commit is contained in:
parent
a2751a1b26
commit
7b1b04f95a
@ -691,6 +691,11 @@ var ThumbnailsBox = GObject.registerClass({
|
|||||||
global.display.connect('workareas-changed',
|
global.display.connect('workareas-changed',
|
||||||
this._updatePorthole.bind(this));
|
this._updatePorthole.bind(this));
|
||||||
|
|
||||||
|
this.connect('notify::visible', () => {
|
||||||
|
if (!this.visible)
|
||||||
|
this._queueUpdateStates();
|
||||||
|
});
|
||||||
|
|
||||||
this._switchWorkspaceNotifyId = 0;
|
this._switchWorkspaceNotifyId = 0;
|
||||||
this._nWorkspacesNotifyId = 0;
|
this._nWorkspacesNotifyId = 0;
|
||||||
this._syncStackingId = 0;
|
this._syncStackingId = 0;
|
||||||
@ -1122,6 +1127,10 @@ var ThumbnailsBox = GObject.registerClass({
|
|||||||
if (this._animatingIndicator)
|
if (this._animatingIndicator)
|
||||||
return;
|
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
|
// Then slide out any thumbnails that have been destroyed
|
||||||
this._iterateStateThumbnails(ThumbnailState.REMOVING, thumbnail => {
|
this._iterateStateThumbnails(ThumbnailState.REMOVING, thumbnail => {
|
||||||
this._setThumbnailState(thumbnail, ThumbnailState.ANIMATING_OUT);
|
this._setThumbnailState(thumbnail, ThumbnailState.ANIMATING_OUT);
|
||||||
|
Loading…
Reference in New Issue
Block a user