[gnome-shell-extensions] Install a 'classic' mode for gnome-shell



commit 8815c670eac25ae0891d506277506e38c29e1861
Author: Florian MÃllner <fmuellner gnome org>
Date:   Wed Dec 5 22:05:21 2012 +0100

    Install a 'classic' mode for gnome-shell
    
    Commit c421da905fb added the necessary machinery for adding a
    classic session, do the same for the corresponding gnome-shell
    mode.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=689738

 .gitignore           |    1 +
 configure.ac         |    1 +
 data/Makefile.am     |   18 ++++++++++++++++++
 data/classic.json.in |    4 ++++
 4 files changed, 24 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e28eb4b..9bb939c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@ config.log
 config.status
 aclocal.m4
 autom4te.cache/
+data/*.json
 po/gnome-shell-extensions.pot
 po/POTFILES
 po/stamp-it
diff --git a/configure.ac b/configure.ac
index 7ba4e02..aefdc82 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,6 +30,7 @@ dnl keep this in alphabetic order
 CLASSIC_EXTENSIONS="apps-menu places-menu default-min-max"
 DEFAULT_EXTENSIONS="$CLASSIC_EXTENSIONS alternative-status-menu drive-menu windowsNavigator workspace-indicator"
 ALL_EXTENSIONS="$DEFAULT_EXTENSIONS auto-move-windows example native-window-placement systemMonitor user-theme xrandr-indicator"
+AC_SUBST(CLASSIC_EXTENSIONS, [$CLASSIC_EXTENSIONS])
 AC_SUBST(ALL_EXTENSIONS, [$ALL_EXTENSIONS])
 AC_ARG_ENABLE([extensions],
 	[AS_HELP_STRING([--enable-extensions],[Space separated list of extensions to enable.
diff --git a/data/Makefile.am b/data/Makefile.am
index 62d70b5..d9f4561 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,3 +1,5 @@
+include $(top_srcdir)/include.mk
+
 desktopdir = $(datadir)/applications
 desktop_in_in_files = gnome-shell-classic.desktop.in.in
 desktop_in_files = $(desktop_in_in_files:.desktop.in.in=.desktop.in)
@@ -12,12 +14,26 @@ xsessiondir = $(datadir)/xsessions
 xsession_in_files = gnome-classic.desktop.in
 xsession_DATA = $(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)
+
 %.desktop.in:%.desktop.in.in
 	$(AM_V_GEN) sed \
 		-e "s|\ bindir\@|$(bindir)|" \
 		-e "s|\ VERSION\@|$(VERSION)|" \
 		$< > $@
 
+comma:=,
+empty:=
+space:= $(empty) $(empty)
+extensions:=$(patsubst %,\"%$(extensionbase)\",$(CLASSIC_EXTENSIONS))
+extension_list:=$(subst $(space),$(comma),$(extensions))
+%.json:%.json.in
+	$(AM_V_GEN) sed \
+		-e "s|\ CLASSIC_EXTENSIONS\@|$(extension_list)|g" \
+		$< > $@
+
 %.session.desktop.in: %.session.desktop.in.in
 	$(AM_V_GEN) sed \
 		-e "s|\ libexecdir\@|$(libexecdir)|" \
@@ -31,10 +47,12 @@ EXTRA_DIST = \
 	$(desktop_in_in_files) \
 	$(session_in_in_files) \
 	$(xsession_in_files) \
+	$(mode_in_files) \
 	$(NULL)
 
 CLEANFILES = \
 	$(desktop_DATA) \
 	$(session_DATA) \
 	$(xsession_DATA) \
+	$(mode_DATA) \
 	$(NULL)
diff --git a/data/classic.json.in b/data/classic.json.in
new file mode 100644
index 0000000..8864ca4
--- /dev/null
+++ b/data/classic.json.in
@@ -0,0 +1,4 @@
+{
+    "parentMode": "user",
+    "enabledExtensions": [ CLASSIC_EXTENSIONS@]
+}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]