[gnome-session] [build, gnome-wm] Add --with-default-wm configure option



commit 61e46f29f0f23a119d665f5d670821137cbdcbf5
Author: Vincent Untz <vuntz gnome org>
Date:   Tue Jul 21 18:11:09 2009 +0200

    [build,gnome-wm] Add --with-default-wm configure option
    
    This lets distributors specify which wm they want to use as default (and
    therefore changes the default value in the schema).
    
    If the default is gnome-wm, then additionally, gnome-wm.desktop will get
    installed.

 configure.in                                       |   13 +++++++++++++
 data/Makefile.am                                   |   20 +++++++++++++++-----
 ...sion.schemas.in => gnome-session.schemas.in.in} |    2 +-
 3 files changed, 29 insertions(+), 6 deletions(-)
---
diff --git a/configure.in b/configure.in
index e131ae4..2439348 100644
--- a/configure.in
+++ b/configure.in
@@ -103,6 +103,18 @@ if test "x$have_polkit" = "xyes"; then
 fi
 
 dnl ====================================================================
+dnl Option to set the default window manager
+dnl ====================================================================
+AC_ARG_WITH(default-wm,
+              [AC_HELP_STRING([--with-default-wm],
+                              [Specify the default window manager @<:@default=metacity@:>@])],,
+                              [with_default_wm="metacity"])
+
+DEFAULT_WM=$with_default_wm
+AC_SUBST(DEFAULT_WM)
+AM_CONDITIONAL(USE_GNOME_WM, test x$with_default_wm = xgnome-wm)
+
+dnl ====================================================================
 dnl GConf Checks
 dnl ====================================================================
 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
@@ -383,6 +395,7 @@ echo "
         cflags:	                  ${CFLAGS}
         Maintainer mode:          ${USE_MAINTAINER_MODE}
 
+        Default WM:               ${with_default_wm}
         PolicyKit support:        ${have_polkit}
         XRender support:          ${have_xrender}
         XSync support:            ${have_xsync}
diff --git a/data/Makefile.am b/data/Makefile.am
index a6919c2..262662a 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,4 +1,6 @@
 NULL =
+QUIET_GEN = $(Q:@= echo '  GEN   '$@;)
+
 SUBDIRS = icons
 
 uidir = $(pkgdatadir)
@@ -22,11 +24,19 @@ schemas_in_files = gnome-session.schemas.in
 schemasdir = $(GCONF_SCHEMA_FILE_DIR)
 schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
 
+$(schemas_in_files): $(schemas_in_files).in Makefile
+	$(QUIET_GEN)sed \
+	     -e "s|\ DEFAULT_WM\@|$(DEFAULT_WM)|" \
+	     $< > $@
+
 bin_SCRIPTS = gnome-wm
 
-settingsdir = $(datadir)/applications
-settings_in_files = session-properties.desktop.in
-settings_DATA = $(settings_in_files:.desktop.in=.desktop)
+desktopdir = $(datadir)/applications
+desktop_in_files = session-properties.desktop.in
+desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
+if USE_GNOME_WM
+desktop_in_files += gnome-wm.desktop.in
+endif
 
 install-data-local:
 if GCONF_SCHEMAS_INSTALL
@@ -47,9 +57,9 @@ EXTRA_DIST =					\
 CLEANFILES =					\
 	$(schemas_DATA)				\
 	$(xsession_DATA)			\
-	$(settings_DATA)
+	$(desktop_DATA)
 
 DISTCLEANFILES =				\
-	$(settings_in_files)
+	$(desktop_in_files)
 
 -include $(top_srcdir)/git.mk
diff --git a/data/gnome-session.schemas.in b/data/gnome-session.schemas.in.in
similarity index 99%
rename from data/gnome-session.schemas.in
rename to data/gnome-session.schemas.in.in
index 12997d8..2cd5e2d 100644
--- a/data/gnome-session.schemas.in
+++ b/data/gnome-session.schemas.in.in
@@ -90,7 +90,7 @@
          <applyto>/desktop/gnome/session/required_components/windowmanager</applyto>
          <owner>gnome</owner>
          <type>string</type>
-         <default>metacity</default>
+         <default>@DEFAULT_WM@</default>
          <locale name="C">
             <short>Window Manager</short>
             <long>The window manager is the program that draws the title bar and borders around windows, and allows you to move and resize windows.</long>



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