File gnome-sle-classic-ext-build.patch of Package gnome-shell-extensions.705

diff --git a/configure.ac b/configure.ac
index 00a9864..06eecd5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,9 +28,12 @@ AC_SUBST([SHELL_VERSION])
 
 dnl keep this in alphabetic order
 CLASSIC_EXTENSIONS="apps-menu places-menu alternate-tab launch-new-instance window-list"
+dnl replace 'window-list' with 'sle-classic'
+SLE_CLASSIC_EXTENSIONS="apps-menu places-menu alternate-tab launch-new-instance sle-classic"
 DEFAULT_EXTENSIONS="$CLASSIC_EXTENSIONS drive-menu windowsNavigator workspace-indicator"
-ALL_EXTENSIONS="$DEFAULT_EXTENSIONS auto-move-windows example native-window-placement systemMonitor user-theme"
+ALL_EXTENSIONS="$DEFAULT_EXTENSIONS auto-move-windows example native-window-placement systemMonitor user-theme sle-classic"
 AC_SUBST(CLASSIC_EXTENSIONS, [$CLASSIC_EXTENSIONS])
+AC_SUBST(SLE_CLASSIC_EXTENSIONS, [$SLE_CLASSIC_EXTENSIONS])
 AC_SUBST(ALL_EXTENSIONS, [$ALL_EXTENSIONS])
 AC_ARG_ENABLE([extensions],
 	[AS_HELP_STRING([--enable-extensions],[Space separated list of extensions to enable.
@@ -43,11 +46,18 @@ AC_ARG_ENABLE([extensions],
 if test x"$enable_extensions" = xall; then
    enable_extensions="$ALL_EXTENSIONS"
    enable_classic_mode_default=yes
+   enable_sle_classic_mode_default=yes
 elif test x"$enable_extensions" = xclassic-mode; then
    enable_extensions="$CLASSIC_EXTENSIONS"
    enable_classic_mode_default=yes
+   enable_sle_classic_mode_default=no
+elif test x"$enable_extensions" = xsle-classic-mode; then
+   enable_extensions="$SLE_CLASSIC_EXTENSIONS"
+   enable_classic_mode_default=no
+   enable_sle_classic_mode_default=yes
 else
    enable_classic_mode_default=no
+   enable_sle_classic_mode_default=no
 fi
 
 AC_ARG_ENABLE([classic-mode],
@@ -57,6 +67,13 @@ AC_ARG_ENABLE([classic-mode],
         [enable_classic_mode=$enable_classic_mode_default])
 AM_CONDITIONAL([CLASSIC_MODE], [test x"$enable_classic_mode" != xno])
 
+AC_ARG_ENABLE([sle-classic-mode],
+        [AS_HELP_STRING([--enable-sle-classic-mode],[Enable installing data files for SLE classic mode.
+        Defaults to yes if enabling all or sle-classic-mode extensions, and no otherwise.])],
+        [],
+        [enable_sle_classic_mode=$enable_sle_classic_mode_default])
+AM_CONDITIONAL([SLE_CLASSIC_MODE], [test x"$enable_sle_classic_mode" != xno])
+
 ENABLED_EXTENSIONS=
 for e in $enable_extensions; do
 	case $e in
@@ -66,7 +83,8 @@ for e in $enable_extensions; do
 					[AC_MSG_WARN([libgtop-2.0 not found, disabling systemMonitor])])
 			;;
 dnl		keep this in alphabetic order
-		alternate-tab|apps-menu|auto-move-windows|drive-menu|example|launch-new-instance|native-window-placement|places-menu|user-theme|window-list|windowsNavigator|workspace-indicator)
+dnl             to help identify changes in patch, I'm gonna break alphabetic order for now ;)
+		alternate-tab|apps-menu|auto-move-windows|drive-menu|example|launch-new-instance|native-window-placement|places-menu|user-theme|window-list|windowsNavigator|workspace-indicator|sle-classic)
 			ENABLED_EXTENSIONS="$ENABLED_EXTENSIONS $e"
 			;;
 		*)
@@ -87,6 +105,7 @@ AC_CONFIG_FILES([
   extensions/launch-new-instance/Makefile
   extensions/native-window-placement/Makefile
   extensions/places-menu/Makefile
+  extensions/sle-classic/Makefile
   extensions/systemMonitor/Makefile
   extensions/user-theme/Makefile
   extensions/window-list/Makefile
diff --git a/data/Makefile.am b/data/Makefile.am
index af11e18..5fa1bb3 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -10,14 +10,27 @@ session_in_in_files = gnome-classic.session.desktop.in.in
 session_in_files = $(session_in_in_files:.session.desktop.in.in=.session.desktop.in)
 session_DATA = $(session_in_files:.session.desktop.in=.session)
 
+sle_sessiondir = $(datadir)/gnome-session/sessions
+sle_session_in_in_files = sle-classic.session.desktop.in.in
+sle_session_in_files = $(sle_session_in_in_files:.session.desktop.in.in=.session.desktop.in)
+sle_session_DATA = $(sle_session_in_files:.session.desktop.in=.session)
+
 xsessiondir = $(datadir)/xsessions
 xsession_in_files = gnome-classic.desktop.in
 xsession_DATA = $(xsession_in_files:.desktop.in=.desktop)
 
+sle_xsessiondir = $(datadir)/xsessions
+sle_xsession_in_files = sle-classic.desktop.in
+sle_xsession_DATA = $(sle_xsession_in_files:.desktop.in=.desktop)
+
 modedir = $(datadir)/gnome-shell/modes
 mode_in_files = classic.json.in
 mode_DATA = $(mode_in_files:.json.in=.json)
 
+sle_modedir = $(datadir)/gnome-shell/modes
+sle_mode_in_files = sle-classic.json.in
+sle_mode_DATA = $(sle_mode_in_files:.json.in=.json)
+
 themedir = $(datadir)/gnome-shell/theme
 theme_DATA = 				\
 	$(srcdir)/classic-process-working.svg	\
@@ -26,6 +39,7 @@ theme_DATA = 				\
 	$(srcdir)/classic-toggle-on-intl.svg	\
 	$(srcdir)/classic-toggle-on-us.svg	\
 	$(srcdir)/gnome-classic.css		\
+	$(srcdir)/sle-classic.css		\
 	$(NULL)
 
 gsettings_in_files = org.gnome.shell.extensions.classic-overrides.gschema.xml.in
@@ -45,11 +59,19 @@ empty:=
 space:= $(empty) $(empty)
 extensions:=$(patsubst %,\"%$(extensionbase)\",$(CLASSIC_EXTENSIONS))
 extension_list:=$(subst $(space),$(comma),$(extensions))
-%.json:%.json.in
+$(mode_DATA):$(mode_in_files)
 	$(AM_V_GEN) sed \
 		-e "s|\@CLASSIC_EXTENSIONS\@|$(extension_list)|g" \
 		$< > $@
 
+sle_extensions:=$(patsubst %,\"%$(extensionbase)\",$(SLE_CLASSIC_EXTENSIONS))
+sle_extension_list:=$(subst $(space),$(comma),$(sle_extensions))
+$(sle_mode_DATA):$(sle_mode_in_files)
+	$(AM_V_GEN) sed \
+		-e "s|\@SLE_CLASSIC_EXTENSIONS\@|$(sle_extension_list)|g" \
+		$< > $@
+
+
 %.session: %.session.desktop.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
 
 @INTLTOOL_DESKTOP_RULE@
@@ -59,6 +81,9 @@ EXTRA_DIST = \
 	$(session_in_in_files) \
 	$(xsession_in_files) \
 	$(mode_in_files) \
+	$(sle_session_in_in_files) \
+	$(sle_xsession_in_files) \
+	$(sle_mode_in_files) \
 	$(gsettings_in_files) \
 	$(theme_DATA) \
 	$(NULL)
@@ -68,5 +93,8 @@ CLEANFILES = \
 	$(session_DATA) \
 	$(xsession_DATA) \
 	$(mode_DATA) \
+	$(sle_session_DATA) \
+	$(sle_xsession_DATA) \
+	$(sle_mode_DATA) \
 	$(gsettings_SCHEMAS) \
 	$(NULL)
openSUSE Build Service is sponsored by