File gnome-shell-lock-bg-on-primary.patch of Package gnome-shell.19696
diff -urp gnome-shell-3.33.91.orig/js/ui/screenShield.js gnome-shell-3.33.91/js/ui/screenShield.js
--- gnome-shell-3.33.91.orig/js/ui/screenShield.js 2019-09-04 14:04:13.523059437 -0500
+++ gnome-shell-3.33.91/js/ui/screenShield.js 2019-09-04 14:20:01.448084179 -0500
@@ -492,7 +492,7 @@ var ScreenShield = class {
y_expand: true,
reactive: true,
pivot_point: new Clutter.Point({ x: 0.5, y: 0.5 }),
- name: 'lockDialogGroup' });
+ name: 'lockDialogGroupReal' });
// Add background for this._lockDialogGroup
this._bgLockDialogGroup = new Clutter.Actor();
@@ -505,6 +505,28 @@ var ScreenShield = class {
Main.layoutManager.connect('monitors-changed', this._updateBgLockDialogGroup.bind(this));
this.actor.add_actor(this._lockDialogGroup);
+
+ let primaryBackground = new St.Widget({ x_expand: true,
+ y_expand: true,
+ reactive: true,
+ pivot_point: new Clutter.Point({ x: 0.5, y: 0.5 }),
+ name: 'lockDialogGroup' });
+ primaryBackground.add_constraint(new Layout.MonitorConstraint({ primary: true }));
++ this.actor.insert_child_below(primaryBackground, null);
+
+ for (let i = 0; i < Main.layoutManager.monitors.length; i++) {
+ if (Main.layoutManager.monitors [i].index == Main.layoutManager.primaryMonitor.index)
+ continue;
+
+ let group = new St.Widget({ x_expand: true,
+ y_expand: true,
+ reactive: true,
+ pivot_point: new Clutter.Point({ x: 0.5, y: 0.5 }),
+ name: 'lockDialogGroup' });
+ group.add_constraint(new Layout.MonitorConstraint({ index: i }));
+ this.actor.insert_child_below(group, null);
+ }
+
this.actor.add_actor(this._lockScreenGroup);
this._presence = new GnomeSession.Presence((proxy, error) => {