workspaceThumbnail: Initialize porthole to work area

We currently initialize the porthole to the screen size instead of
the monitor's work area we actually want. At the moment this doesn't
matter, as the minimap is created during initialization with the rest
of the overview, so we can expect a work area change that updates the
porthole to the correct values.

That won't be true for minimaps we put on secondary monitors, so make
sure we initialize the porthole to the actual values.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1735>
This commit is contained in:
Florian Müllner 2021-03-02 11:45:31 +01:00 committed by Marge Bot
parent 945e947a54
commit 09afaf0745

View File

@ -641,10 +641,6 @@ var ThumbnailsBox = GObject.registerClass({
this._indicator = indicator; this._indicator = indicator;
this.add_actor(indicator); this.add_actor(indicator);
// The porthole is the part of the screen we're showing in the thumbnails
this._porthole = { width: global.stage.width, height: global.stage.height,
x: global.stage.x, y: global.stage.y };
this._dropWorkspace = -1; this._dropWorkspace = -1;
this._dropPlaceholderPos = -1; this._dropPlaceholderPos = -1;
this._dropPlaceholder = new St.Bin({ style_class: 'placeholder' }); this._dropPlaceholder = new St.Bin({ style_class: 'placeholder' });
@ -696,8 +692,10 @@ var ThumbnailsBox = GObject.registerClass({
this._createThumbnails(); this._createThumbnails();
}); });
// The porthole is the part of the screen we're showing in the thumbnails
this._workareasChangedId = global.display.connect('workareas-changed', this._workareasChangedId = global.display.connect('workareas-changed',
() => this._updatePorthole()); () => this._updatePorthole());
this._updatePorthole();
this.connect('notify::visible', () => { this.connect('notify::visible', () => {
if (!this.visible) if (!this.visible)