workspacesView: Only clip non-primary workspace views

The primary workspace is displayed in the overview, and clipping it
ends up clipping the shadows too. Since Overview's ControlsManager
itself clips to allocation, no windows in the primary monitor spill
to other monitors. However, not clipping non-primary monitors might
end up in situations where their windows spill into the primary one.

Make sure to only clip workspace views of non-primary monitors.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1691>
This commit is contained in:
Georges Basile Stavracas Neto 2021-02-18 19:01:32 -03:00 committed by Marge Bot
parent a976fe90e4
commit 9d4f017248

View File

@ -24,7 +24,7 @@ var WorkspacesViewBase = GObject.registerClass({
_init(monitorIndex, overviewAdjustment) { _init(monitorIndex, overviewAdjustment) {
super._init({ super._init({
style_class: 'workspaces-view', style_class: 'workspaces-view',
clip_to_allocation: true, clip_to_allocation: monitorIndex !== Main.layoutManager.primaryIndex,
x_expand: true, x_expand: true,
y_expand: true, y_expand: true,
}); });
@ -581,7 +581,6 @@ var WorkspacesDisplay = GObject.registerClass(
class WorkspacesDisplay extends St.Widget { class WorkspacesDisplay extends St.Widget {
_init(controls, scrollAdjustment, overviewAdjustment) { _init(controls, scrollAdjustment, overviewAdjustment) {
super._init({ super._init({
clip_to_allocation: true,
layout_manager: new Clutter.BinLayout(), layout_manager: new Clutter.BinLayout(),
}); });