File gs-sle-classic-ext.patch of Package gnome-shell.openSUSE_Leap_42.3_Update

diff --git a/js/js-resources.gresource.xml b/sp2-rebasing/gnome-shell-3.20.1/js/js-resources.gresource.xml
index 33feba2..53566a7 100644
--- a/js/js-resources.gresource.xml
+++ b/js/js-resources.gresource.xml
@@ -103,6 +103,7 @@
     <file>ui/workspaceThumbnail.js</file>
     <file>ui/workspacesView.js</file>
     <file>ui/xdndHandler.js</file>
+    <file>ui/SLEClassicExt.js</file>
 
     <file>ui/components/__init__.js</file>
     <file>ui/components/autorunManager.js</file>
diff --git a/js/ui/layout.js b/sp2-rebasing/gnome-shell-3.20.1/js/ui/layout.js
index 7ec6867..9c35714 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -25,6 +25,8 @@ const BACKGROUND_FADE_ANIMATION_TIME = 1.0;
 const HOT_CORNER_PRESSURE_THRESHOLD = 100; // pixels
 const HOT_CORNER_PRESSURE_TIMEOUT = 1000; // ms
 
+const SLEClassicExt = imports.ui.SLEClassicExt;
+
 function isPopupMetaWindow(actor) {
     switch(actor.meta_window.get_window_type()) {
     case Meta.WindowType.DROPDOWN_MENU:
@@ -457,7 +459,7 @@ const LayoutManager = new Lang.Class({
         this.screenShieldGroup.set_position(0, 0);
         this.screenShieldGroup.set_size(global.screen_width, global.screen_height);
 
-        this.panelBox.set_position(this.primaryMonitor.x, this.primaryMonitor.y);
+        SLEClassicExt.setMainPanelPosition(this.panelBox, this.primaryMonitor);
         this.panelBox.set_size(this.primaryMonitor.width, -1);
 
         this.keyboardIndex = this.primaryIndex;
diff --git a/js/ui/main.js b/sp2-rebasing/gnome-shell-3.20.1/js/ui/main.js
index ad95ce0..7b20e67 100644
--- a/js/ui/main.js
+++ b/js/ui/main.js
@@ -44,6 +44,8 @@ const Magnifier = imports.ui.magnifier;
 const XdndHandler = imports.ui.xdndHandler;
 const Util = imports.misc.util;
 
+const SLEClassicExt = imports.ui.SLEClassicExt;
+
 const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard';
 const STICKY_KEYS_ENABLE = 'stickykeys-enable';
 const GNOMESHELL_STARTED_MESSAGE_ID = 'f3ea493c22934e26811cd62abe8e203a';
@@ -127,6 +129,8 @@ function start() {
     shellMountOpDBusService = new ShellMountOperation.GnomeShellMountOpHandler();
 
     _sessionUpdated();
+
+    SLEClassicExt.init();
 }
 
 function _initializeUI() {
diff --git a/js/ui/panel.js b/sp2-rebasing/gnome-shell-3.20.1/js/ui/panel.js
index b55e2a9..f30693c 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -25,6 +25,8 @@ const RemoteMenu = imports.ui.remoteMenu;
 const Main = imports.ui.main;
 const Tweener = imports.ui.tweener;
 
+const SLEClassicExt = imports.ui.SLEClassicExt;
+
 const PANEL_ICON_SIZE = 16;
 const APP_MENU_ICON_MARGIN = 0;
 
@@ -823,7 +825,9 @@ const Panel = new Lang.Class({
         alloc.natural_size = -1;
     },
 
-    _allocate: function(actor, box, flags) {
+    _allocate: SLEClassicExt._allocate,
+
+    _allocateOrigin: function(actor, box, flags) {
         let allocWidth = box.x2 - box.x1;
         let allocHeight = box.y2 - box.y1;
 
diff --git a/js/ui/sessionMode.js b/sp2-rebasing/gnome-shell-3.20.1/js/ui/sessionMode.js
index d947d5a..628a2ed 100644
--- a/js/ui/sessionMode.js
+++ b/js/ui/sessionMode.js
@@ -14,6 +14,8 @@ const Config = imports.misc.config;
 
 const DEFAULT_MODE = 'restrictive';
 
+const SLEClassicExt = imports.ui.SLEClassicExt;
+
 const _modes = {
     'restrictive': {
         parentMode: null,
@@ -119,6 +121,7 @@ function _loadMode(file, info) {
     try {
         [success, fileContent, tag] = file.load_contents(null);
         newMode = JSON.parse(fileContent);
+        newMode = SLEClassicExt.convertClassic2SLE(newMode);
     } catch(e) {
         return;
     }
openSUSE Build Service is sponsored by