diff --git a/Makefile.am b/Makefile.am index 5cc48359..f34d0b08 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,13 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} +DIST_SUBDIRS = data extensions po + SUBDIRS = extensions po +if CLASSIC_MODE +SUBDIRS += data +endif + EXTRA_DIST = lib/convenience.js DISTCHECK_CONFIGURE_FLAGS = --enable-extensions=all diff --git a/configure.ac b/configure.ac index 7fad8cd5..5caebac7 100644 --- a/configure.ac +++ b/configure.ac @@ -38,6 +38,8 @@ AC_ARG_ENABLE([extensions], [], [enable_extensions=$DEFAULT_EXTENSIONS] ) +AM_CONDITIONAL([CLASSIC_MODE], [test x"$enable_extensions" = xclassic-mode]) + if test x"$enable_extensions" = xall; then enable_extensions="$ALL_EXTENSIONS" fi @@ -71,6 +73,7 @@ AC_SUBST(ENABLED_EXTENSIONS, [$ENABLED_EXTENSIONS]) dnl Please keep this sorted alphabetically AC_CONFIG_FILES([ + data/Makefile extensions/alternate-tab/Makefile extensions/alternative-status-menu/Makefile extensions/apps-menu/Makefile diff --git a/data/Makefile.am b/data/Makefile.am new file mode 100644 index 00000000..62d70b58 --- /dev/null +++ b/data/Makefile.am @@ -0,0 +1,40 @@ +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) +desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) + +sessiondir = $(datadir)/gnome-session/sessions +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) + +xsessiondir = $(datadir)/xsessions +xsession_in_files = gnome-classic.desktop.in +xsession_DATA = $(xsession_in_files:.desktop.in=.desktop) + +%.desktop.in:%.desktop.in.in + $(AM_V_GEN) sed \ + -e "s|\@bindir\@|$(bindir)|" \ + -e "s|\@VERSION\@|$(VERSION)|" \ + $< > $@ + +%.session.desktop.in: %.session.desktop.in.in + $(AM_V_GEN) sed \ + -e "s|\@libexecdir\@|$(libexecdir)|" \ + $< > $@ + +%.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@ + +EXTRA_DIST = \ + $(desktop_in_in_files) \ + $(session_in_in_files) \ + $(xsession_in_files) \ + $(NULL) + +CLEANFILES = \ + $(desktop_DATA) \ + $(session_DATA) \ + $(xsession_DATA) \ + $(NULL) diff --git a/data/gnome-classic.desktop.in b/data/gnome-classic.desktop.in new file mode 100644 index 00000000..b3ab3af4 --- /dev/null +++ b/data/gnome-classic.desktop.in @@ -0,0 +1,7 @@ +[Desktop Entry] +_Name=GNOME Classic +_Comment=This session logs you into GNOME Classic +Exec=gnome-session --session gnome-classic +TryExec=gnome-session +Icon= +Type=Application diff --git a/data/gnome-classic.session.desktop.in.in b/data/gnome-classic.session.desktop.in.in new file mode 100644 index 00000000..f728aae5 --- /dev/null +++ b/data/gnome-classic.session.desktop.in.in @@ -0,0 +1,5 @@ +[GNOME Session] +_Name=GNOME Classic +RequiredComponents=gnome-shell-classic;gnome-settings-daemon; +IsRunnableHelper=@libexecdir@/gnome-session-check-accelerated +FallbackSession=gnome-fallback diff --git a/data/gnome-shell-classic.desktop.in.in b/data/gnome-shell-classic.desktop.in.in new file mode 100644 index 00000000..6de19fe3 --- /dev/null +++ b/data/gnome-shell-classic.desktop.in.in @@ -0,0 +1,17 @@ +[Desktop Entry] +Type=Application +_Name=GNOME Shell Classic +_Comment=Window management and application launching +Exec=@bindir@/gnome-shell --mode=classic +TryExec=@bindir@/gnome-shell +X-GNOME-Bugzilla-Bugzilla=GNOME +X-GNOME-Bugzilla-Product=gnome-shell +X-GNOME-Bugzilla-Component=general +X-GNOME-Bugzilla-Version=@VERSION@ +Categories=GNOME;GTK;Core; +OnlyShowIn=GNOME; +NoDisplay=true +X-GNOME-Autostart-Phase=WindowManager +X-GNOME-Provides=panel;windowmanager; +X-GNOME-Autostart-Notify=true +X-GNOME-AutoRestart=false diff --git a/po/POTFILES.in b/po/POTFILES.in index 46ee7008..01b6d6d5 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,3 +1,6 @@ +data/gnome-classic.desktop.in +data/gnome-classic.session.desktop.in.in +data/gnome-shell-classic.desktop.in.in extensions/alternate-tab/extension.js extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in extensions/alternate-tab/prefs.js