File gnome-shell-lock-bg-on-primary.patch of Package gnome-shell

Index: gnome-shell-3.24.2/js/ui/screenShield.js
===================================================================
--- gnome-shell-3.24.2.orig/js/ui/screenShield.js
+++ gnome-shell-3.24.2/js/ui/screenShield.js
@@ -498,9 +498,31 @@ const ScreenShield = new Lang.Class({
                                                 y_expand: true,
                                                 reactive: true,
                                                 pivot_point: new Clutter.Point({ x: 0.5, y: 0.5 }),
-                                                name: 'lockDialogGroup' });
+                                                name: 'lockDialogGroupReal' });
 
         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(Lang.bind(this, function(proxy, error) {