summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.in3
-rw-r--r--config.h.in3
-rwxr-xr-xconfigure200
-rw-r--r--configure.ac4
-rw-r--r--defaults/Makefile.in3
-rw-r--r--docs/Makefile.in3
-rw-r--r--settings/Makefile.in3
-rw-r--r--settings/looknfeel.c2
-rw-r--r--settings/session.c9
-rw-r--r--themes/Default/Makefile.in3
-rw-r--r--themes/Makefile.in3
-rw-r--r--xfce4-session.spec.in1
-rw-r--r--xfce4-session/Makefile.am6
-rw-r--r--xfce4-session/Makefile.in63
-rw-r--r--xfce4-session/main.c4
-rw-r--r--xfce4-session/shutdown.c10
-rw-r--r--xfce4-session/xfsm-compat-gnome.c224
-rw-r--r--xfce4-session/xfsm-compat-gnome.h32
-rw-r--r--xfce4-session/xfsm-compat-kde.c66
-rw-r--r--xfce4-session/xfsm-compat-kde.h31
-rw-r--r--xfce4-session/xfsm-global.c2
-rw-r--r--xfce4-session/xfsm-global.h2
-rw-r--r--xfce4-session/xfsm-splash-screen.c14
-rw-r--r--xfce4-session/xfsm-startup.c42
-rw-r--r--xfsm-shutdown-helper/Makefile.in3
25 files changed, 663 insertions, 73 deletions
diff --git a/Makefile.in b/Makefile.in
index b6dfa306..46d56c9a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -113,6 +113,9 @@ FFLAGS = @FFLAGS@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
+GNOME_CFLAGS = @GNOME_CFLAGS@
+GNOME_LIBS = @GNOME_LIBS@
+GNOME_REQUIRED_VERSION = @GNOME_REQUIRED_VERSION@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
diff --git a/config.h.in b/config.h.in
index 7a2f2f12..2b5ed5bd 100644
--- a/config.h.in
+++ b/config.h.in
@@ -36,6 +36,9 @@
/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT
+/* Define if you have libgnome-2.0 >= 2.4.0 */
+#undef HAVE_GNOME
+
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
diff --git a/configure b/configure
index 12977a46..a88d7557 100755
--- a/configure
+++ b/configure
@@ -470,7 +470,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP build build_cpu build_vendor build_os host host_cpu host_vendor host_os LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS LIBX11_CFLAGS LIBX11_LDFLAGS LIBX11_LIBS LIBSM_CFLAGS LIBSM_LDFLAGS LIBSM_LIBS GETTEXT_PACKAGE USE_NLS MSGFMT GMSGFMT XGETTEXT CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLLIBS PO_IN_DATADIR_TRUE PO_IN_DATADIR_FALSE POFILES POSUB MKINSTALLDIRS localedir PKG_CONFIG LIBXFCE4UTIL_CFLAGS LIBXFCE4UTIL_LIBS LIBXFCE4UTIL_REQUIRED_VERSION LIBXFCE4MCS_CLIENT_CFLAGS LIBXFCE4MCS_CLIENT_LIBS LIBXFCE4MCS_CLIENT_REQUIRED_VERSION LIBXFCEGUI4_CFLAGS LIBXFCEGUI4_LIBS LIBXFCEGUI4_REQUIRED_VERSION XFCE_MCS_MANAGER_CFLAGS XFCE_MCS_MANAGER_LIBS XFCE_MCS_MANAGER_REQUIRED_VERSION XFCE_MCS_MANAGER_PLUGINSDIR SUDO LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP build build_cpu build_vendor build_os host host_cpu host_vendor host_os LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS LIBX11_CFLAGS LIBX11_LDFLAGS LIBX11_LIBS LIBSM_CFLAGS LIBSM_LDFLAGS LIBSM_LIBS GETTEXT_PACKAGE USE_NLS MSGFMT GMSGFMT XGETTEXT CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLLIBS PO_IN_DATADIR_TRUE PO_IN_DATADIR_FALSE POFILES POSUB MKINSTALLDIRS localedir PKG_CONFIG LIBXFCE4UTIL_CFLAGS LIBXFCE4UTIL_LIBS LIBXFCE4UTIL_REQUIRED_VERSION LIBXFCE4MCS_CLIENT_CFLAGS LIBXFCE4MCS_CLIENT_LIBS LIBXFCE4MCS_CLIENT_REQUIRED_VERSION LIBXFCEGUI4_CFLAGS LIBXFCEGUI4_LIBS LIBXFCEGUI4_REQUIRED_VERSION XFCE_MCS_MANAGER_CFLAGS XFCE_MCS_MANAGER_LIBS XFCE_MCS_MANAGER_REQUIRED_VERSION XFCE_MCS_MANAGER_PLUGINSDIR GNOME_CFLAGS GNOME_LIBS GNOME_REQUIRED_VERSION SUDO LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -1047,6 +1047,8 @@ Optional Features:
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-gnome Enable checking for Gnome support (default=yes)
+ --disable-gnome Disable checking for Gnome support
--enable-debug=yes|no|full
Build with debugging support
--disable-debug Include no debugging support default
@@ -5421,7 +5423,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 5424 "configure"' > conftest.$ac_ext
+ echo '#line 5426 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -6513,7 +6515,7 @@ fi
# Provide some information about the compiler.
-echo "$as_me:6516:" \
+echo "$as_me:6518:" \
"checking for Fortran 77 compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -7540,11 +7542,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7543: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7545: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7547: \$? = $ac_status" >&5
+ echo "$as_me:7549: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -7772,11 +7774,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7775: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7777: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7779: \$? = $ac_status" >&5
+ echo "$as_me:7781: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -7839,11 +7841,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7842: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7844: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7846: \$? = $ac_status" >&5
+ echo "$as_me:7848: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -9224,7 +9226,7 @@ linux*)
libsuff=
case "$host_cpu" in
x86_64*|s390x*|powerpc64*)
- echo '#line 9227 "configure"' > conftest.$ac_ext
+ echo '#line 9229 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -10006,7 +10008,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10009 "configure"
+#line 10011 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10104,7 +10106,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10107 "configure"
+#line 10109 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12256,11 +12258,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12259: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12261: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12263: \$? = $ac_status" >&5
+ echo "$as_me:12265: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -12323,11 +12325,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12326: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:12328: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12330: \$? = $ac_status" >&5
+ echo "$as_me:12332: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -12894,7 +12896,7 @@ linux*)
libsuff=
case "$host_cpu" in
x86_64*|s390x*|powerpc64*)
- echo '#line 12897 "configure"' > conftest.$ac_ext
+ echo '#line 12899 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -13676,7 +13678,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 13679 "configure"
+#line 13681 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -13774,7 +13776,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 13777 "configure"
+#line 13779 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -14596,11 +14598,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14599: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14601: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14603: \$? = $ac_status" >&5
+ echo "$as_me:14605: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -14663,11 +14665,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14666: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14668: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14670: \$? = $ac_status" >&5
+ echo "$as_me:14672: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -16028,7 +16030,7 @@ linux*)
libsuff=
case "$host_cpu" in
x86_64*|s390x*|powerpc64*)
- echo '#line 16031 "configure"' > conftest.$ac_ext
+ echo '#line 16033 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -16674,11 +16676,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16677: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16679: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16681: \$? = $ac_status" >&5
+ echo "$as_me:16683: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -16906,11 +16908,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16909: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16911: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16913: \$? = $ac_status" >&5
+ echo "$as_me:16915: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@@ -16973,11 +16975,11 @@ else
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16976: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16978: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16980: \$? = $ac_status" >&5
+ echo "$as_me:16982: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -18358,7 +18360,7 @@ linux*)
libsuff=
case "$host_cpu" in
x86_64*|s390x*|powerpc64*)
- echo '#line 18361 "configure"' > conftest.$ac_ext
+ echo '#line 18363 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -19140,7 +19142,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 19143 "configure"
+#line 19145 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -19238,7 +19240,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 19241 "configure"
+#line 19243 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -24274,6 +24276,135 @@ echo "${ECHO_T}$XFCE_MCS_MANAGER_PLUGINSDIR" >&6
+ # Check whether --enable-gnome or --disable-gnome was given.
+if test "${enable_gnome+set}" = set; then
+ enableval="$enable_gnome"
+ ac_cv_GNOME_check=$enableval
+else
+ ac_cv_GNOME_check=yes
+fi;
+
+ if test x"$ac_cv_GNOME_check" = x"yes"; then
+ echo "$as_me:$LINENO: checking for libgnome-2.0 >= 2.4.0" >&5
+echo $ECHO_N "checking for libgnome-2.0 >= 2.4.0... $ECHO_C" >&6
+ if $PKG_CONFIG --atleast-version=2.4.0 libgnome-2.0 2> /dev/null; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+
+if test -n "$PKG_CONFIG"; then
+ echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+echo "${ECHO_T}$PKG_CONFIG" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ echo "$as_me:$LINENO: checking for libgnome-2.0 >= 2.4.0" >&5
+echo $ECHO_N "checking for libgnome-2.0 >= 2.4.0... $ECHO_C" >&6
+
+ if $PKG_CONFIG --exists "libgnome-2.0 >= 2.4.0" ; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ succeeded=yes
+
+ echo "$as_me:$LINENO: checking GNOME_CFLAGS" >&5
+echo $ECHO_N "checking GNOME_CFLAGS... $ECHO_C" >&6
+ GNOME_CFLAGS=`$PKG_CONFIG --cflags "libgnome-2.0 >= 2.4.0"`
+ echo "$as_me:$LINENO: result: $GNOME_CFLAGS" >&5
+echo "${ECHO_T}$GNOME_CFLAGS" >&6
+
+ echo "$as_me:$LINENO: checking GNOME_LIBS" >&5
+echo $ECHO_N "checking GNOME_LIBS... $ECHO_C" >&6
+ GNOME_LIBS=`$PKG_CONFIG --libs "libgnome-2.0 >= 2.4.0"`
+ echo "$as_me:$LINENO: result: $GNOME_LIBS" >&5
+echo "${ECHO_T}$GNOME_LIBS" >&6
+ else
+ GNOME_CFLAGS=""
+ GNOME_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ GNOME_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libgnome-2.0 >= 2.4.0"`
+ echo $GNOME_PKG_ERRORS
+ fi
+
+
+
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ :
+ else
+ { { echo "$as_me:$LINENO: error: Library requirements (libgnome-2.0 >= 2.4.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
+echo "$as_me: error: Library requirements (libgnome-2.0 >= 2.4.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ GNOME_REQUIRED_VERSION=2.4.0
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GNOME 1
+_ACEOF
+
+ else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ fi
+ fi
+
+
+
# Check whether --enable-debug or --disable-debug was given.
if test "${enable_debug+set}" = set; then
enableval="$enable_debug"
@@ -25252,6 +25383,9 @@ s,@XFCE_MCS_MANAGER_CFLAGS@,$XFCE_MCS_MANAGER_CFLAGS,;t t
s,@XFCE_MCS_MANAGER_LIBS@,$XFCE_MCS_MANAGER_LIBS,;t t
s,@XFCE_MCS_MANAGER_REQUIRED_VERSION@,$XFCE_MCS_MANAGER_REQUIRED_VERSION,;t t
s,@XFCE_MCS_MANAGER_PLUGINSDIR@,$XFCE_MCS_MANAGER_PLUGINSDIR,;t t
+s,@GNOME_CFLAGS@,$GNOME_CFLAGS,;t t
+s,@GNOME_LIBS@,$GNOME_LIBS,;t t
+s,@GNOME_REQUIRED_VERSION@,$GNOME_REQUIRED_VERSION,;t t
s,@SUDO@,$SUDO,;t t
s,@LIBOBJS@,$LIBOBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t
diff --git a/configure.ac b/configure.ac
index f2d73408..3f52408c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -67,6 +67,10 @@ BM_DEPEND([LIBXFCEGUI4], [libxfcegui4-1.0], [4.1.0])
dnl Configure the MCS plugins
XFCE_MCS_PLUGIN([XFCE_MCS_MANAGER], [4.1.0])
+dnl Check for gnome support
+BM_DEPEND_CHECK([GNOME], [libgnome-2.0], [2.4.0], [gnome],
+ [Gnome support], [yes])
+
dnl Check for debugging support
BM_DEBUG_SUPPORT
diff --git a/defaults/Makefile.in b/defaults/Makefile.in
index 4d398366..b7ae4842 100644
--- a/defaults/Makefile.in
+++ b/defaults/Makefile.in
@@ -87,6 +87,9 @@ FFLAGS = @FFLAGS@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
+GNOME_CFLAGS = @GNOME_CFLAGS@
+GNOME_LIBS = @GNOME_LIBS@
+GNOME_REQUIRED_VERSION = @GNOME_REQUIRED_VERSION@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 40f4a3a8..cd02db4b 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -83,6 +83,9 @@ FFLAGS = @FFLAGS@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
+GNOME_CFLAGS = @GNOME_CFLAGS@
+GNOME_LIBS = @GNOME_LIBS@
+GNOME_REQUIRED_VERSION = @GNOME_REQUIRED_VERSION@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
diff --git a/settings/Makefile.in b/settings/Makefile.in
index de040476..ca318e68 100644
--- a/settings/Makefile.in
+++ b/settings/Makefile.in
@@ -118,6 +118,9 @@ FFLAGS = @FFLAGS@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
+GNOME_CFLAGS = @GNOME_CFLAGS@
+GNOME_LIBS = @GNOME_LIBS@
+GNOME_REQUIRED_VERSION = @GNOME_REQUIRED_VERSION@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
diff --git a/settings/looknfeel.c b/settings/looknfeel.c
index 7c2448ba..646fbcb5 100644
--- a/settings/looknfeel.c
+++ b/settings/looknfeel.c
@@ -195,6 +195,8 @@ looknfeel_reload_theme (const gchar *name)
return FALSE;
}
+ looknfeel_select_theme (name);
+
return TRUE;
}
diff --git a/settings/session.c b/settings/session.c
index 46bbf6a9..9ce84eb4 100644
--- a/settings/session.c
+++ b/settings/session.c
@@ -217,10 +217,13 @@ advanced_create (XfceRc *rc)
xfce_framebox_add (XFCE_FRAMEBOX (frame), vbox);
advanced_gnome = gtk_check_button_new_with_label (_("Launch Gnome services on startup"));
+#ifdef HAVE_GNOME
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (advanced_gnome), gnome);
+#else
+ gtk_widget_set_sensitive (advanced_gnome, FALSE);
+#endif
g_signal_connect (G_OBJECT (advanced_gnome), "toggled",
G_CALLBACK (config_store), NULL);
- gtk_widget_set_sensitive (advanced_gnome, FALSE);
gtk_box_pack_start (GTK_BOX (vbox), advanced_gnome, FALSE, TRUE, 0);
advanced_kde = gtk_check_button_new_with_label (_("Launch KDE services on startup"));
@@ -235,7 +238,11 @@ advanced_create (XfceRc *rc)
xfce_framebox_add (XFCE_FRAMEBOX (frame), vbox);
advanced_remote = gtk_check_button_new_with_label (_("Manage remote applications"));
+#ifdef HAVE__ICETRANSNOLISTEN
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (advanced_remote), remote);
+#else
+ gtk_widget_set_senstive (advanced_remote, FALSE);
+#endif
g_signal_connect (G_OBJECT (advanced_remote), "toggled",
G_CALLBACK (config_store), NULL);
gtk_box_pack_start (GTK_BOX (vbox), advanced_remote, FALSE, TRUE, 0);
diff --git a/themes/Default/Makefile.in b/themes/Default/Makefile.in
index 0f002224..3298ef37 100644
--- a/themes/Default/Makefile.in
+++ b/themes/Default/Makefile.in
@@ -87,6 +87,9 @@ FFLAGS = @FFLAGS@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
+GNOME_CFLAGS = @GNOME_CFLAGS@
+GNOME_LIBS = @GNOME_LIBS@
+GNOME_REQUIRED_VERSION = @GNOME_REQUIRED_VERSION@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
diff --git a/themes/Makefile.in b/themes/Makefile.in
index b5f8589e..44c30084 100644
--- a/themes/Makefile.in
+++ b/themes/Makefile.in
@@ -92,6 +92,9 @@ FFLAGS = @FFLAGS@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
+GNOME_CFLAGS = @GNOME_CFLAGS@
+GNOME_LIBS = @GNOME_LIBS@
+GNOME_REQUIRED_VERSION = @GNOME_REQUIRED_VERSION@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
diff --git a/xfce4-session.spec.in b/xfce4-session.spec.in
index bb359003..d8cc2884 100644
--- a/xfce4-session.spec.in
+++ b/xfce4-session.spec.in
@@ -41,4 +41,5 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/*
%{_bindir}/*
%{_libdir}/xfce4/mcs-plugins/
+%{_libexecdir}/xfsm-install-theme
%{_libexecdir}/xfsm-shutdown-helper
diff --git a/xfce4-session/Makefile.am b/xfce4-session/Makefile.am
index e5e7e1ea..e8955056 100644
--- a/xfce4-session/Makefile.am
+++ b/xfce4-session/Makefile.am
@@ -15,6 +15,10 @@ xfce4_session_SOURCES = \
xfsm-chooser.h \
xfsm-client.c \
xfsm-client.h \
+ xfsm-compat-gnome.c \
+ xfsm-compat-gnome.h \
+ xfsm-compat-kde.c \
+ xfsm-compat-kde.h \
xfsm-fadeout.c \
xfsm-fadeout.h \
xfsm-global.c \
@@ -35,6 +39,7 @@ xfce4_session_SOURCES = \
xfsm-util.c
xfce4_session_CFLAGS = \
+ @GNOME_CFLAGS@ \
@LIBSM_CFLAGS@ \
@LIBX11_CFLAGS@ \
@LIBXFCE4MCS_CLIENT_CFLAGS@ \
@@ -43,6 +48,7 @@ xfce4_session_CFLAGS = \
-DXFSM_SHUTDOWN_HELPER=\"$(libexecdir)/xfsm-shutdown-helper\"
xfce4_session_LDADD = \
+ @GNOME_LIBS@ \
@LIBSM_LDFLAGS@ \
@LIBSM_LIBS@ \
@LIBX11_LDFLAGS@ \
diff --git a/xfce4-session/Makefile.in b/xfce4-session/Makefile.in
index 7ca421b1..89257294 100644
--- a/xfce4-session/Makefile.in
+++ b/xfce4-session/Makefile.in
@@ -57,6 +57,8 @@ am_xfce4_session_OBJECTS = xfce4_session-ice-layer.$(OBJEXT) \
xfce4_session-sm-layer.$(OBJEXT) \
xfce4_session-xfsm-chooser.$(OBJEXT) \
xfce4_session-xfsm-client.$(OBJEXT) \
+ xfce4_session-xfsm-compat-gnome.$(OBJEXT) \
+ xfce4_session-xfsm-compat-kde.$(OBJEXT) \
xfce4_session-xfsm-fadeout.$(OBJEXT) \
xfce4_session-xfsm-global.$(OBJEXT) \
xfce4_session-xfsm-manager.$(OBJEXT) \
@@ -77,6 +79,8 @@ am__depfiles_maybe = depfiles
@AMDEP_TRUE@ ./$(DEPDIR)/xfce4_session-sm-layer.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xfce4_session-xfsm-chooser.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xfce4_session-xfsm-client.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/xfce4_session-xfsm-compat-kde.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xfce4_session-xfsm-fadeout.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xfce4_session-xfsm-global.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xfce4_session-xfsm-manager.Po \
@@ -137,6 +141,9 @@ FFLAGS = @FFLAGS@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
+GNOME_CFLAGS = @GNOME_CFLAGS@
+GNOME_LIBS = @GNOME_LIBS@
+GNOME_REQUIRED_VERSION = @GNOME_REQUIRED_VERSION@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -255,6 +262,10 @@ xfce4_session_SOURCES = \
xfsm-chooser.h \
xfsm-client.c \
xfsm-client.h \
+ xfsm-compat-gnome.c \
+ xfsm-compat-gnome.h \
+ xfsm-compat-kde.c \
+ xfsm-compat-kde.h \
xfsm-fadeout.c \
xfsm-fadeout.h \
xfsm-global.c \
@@ -275,6 +286,7 @@ xfce4_session_SOURCES = \
xfsm-util.c
xfce4_session_CFLAGS = \
+ @GNOME_CFLAGS@ \
@LIBSM_CFLAGS@ \
@LIBX11_CFLAGS@ \
@LIBXFCE4MCS_CLIENT_CFLAGS@ \
@@ -283,6 +295,7 @@ xfce4_session_CFLAGS = \
-DXFSM_SHUTDOWN_HELPER=\"$(libexecdir)/xfsm-shutdown-helper\"
xfce4_session_LDADD = \
+ @GNOME_LIBS@ \
@LIBSM_LDFLAGS@ \
@LIBSM_LIBS@ \
@LIBX11_LDFLAGS@ \
@@ -371,6 +384,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfce4_session-sm-layer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfce4_session-xfsm-chooser.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfce4_session-xfsm-client.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfce4_session-xfsm-compat-kde.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfce4_session-xfsm-fadeout.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfce4_session-xfsm-global.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfce4_session-xfsm-manager.Po@am__quote@
@@ -549,6 +564,54 @@ xfce4_session-xfsm-client.lo: xfsm-client.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -c -o xfce4_session-xfsm-client.lo `test -f 'xfsm-client.c' || echo '$(srcdir)/'`xfsm-client.c
+xfce4_session-xfsm-compat-gnome.o: xfsm-compat-gnome.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -MT xfce4_session-xfsm-compat-gnome.o -MD -MP -MF "$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Tpo" -c -o xfce4_session-xfsm-compat-gnome.o `test -f 'xfsm-compat-gnome.c' || echo '$(srcdir)/'`xfsm-compat-gnome.c; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Tpo" "$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Po"; else rm -f "$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xfsm-compat-gnome.c' object='xfce4_session-xfsm-compat-gnome.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Po' tmpdepfile='$(DEPDIR)/xfce4_session-xfsm-compat-gnome.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -c -o xfce4_session-xfsm-compat-gnome.o `test -f 'xfsm-compat-gnome.c' || echo '$(srcdir)/'`xfsm-compat-gnome.c
+
+xfce4_session-xfsm-compat-gnome.obj: xfsm-compat-gnome.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -MT xfce4_session-xfsm-compat-gnome.obj -MD -MP -MF "$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Tpo" -c -o xfce4_session-xfsm-compat-gnome.obj `if test -f 'xfsm-compat-gnome.c'; then $(CYGPATH_W) 'xfsm-compat-gnome.c'; else $(CYGPATH_W) '$(srcdir)/xfsm-compat-gnome.c'; fi`; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Tpo" "$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Po"; else rm -f "$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xfsm-compat-gnome.c' object='xfce4_session-xfsm-compat-gnome.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Po' tmpdepfile='$(DEPDIR)/xfce4_session-xfsm-compat-gnome.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -c -o xfce4_session-xfsm-compat-gnome.obj `if test -f 'xfsm-compat-gnome.c'; then $(CYGPATH_W) 'xfsm-compat-gnome.c'; else $(CYGPATH_W) '$(srcdir)/xfsm-compat-gnome.c'; fi`
+
+xfce4_session-xfsm-compat-gnome.lo: xfsm-compat-gnome.c
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -MT xfce4_session-xfsm-compat-gnome.lo -MD -MP -MF "$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Tpo" -c -o xfce4_session-xfsm-compat-gnome.lo `test -f 'xfsm-compat-gnome.c' || echo '$(srcdir)/'`xfsm-compat-gnome.c; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Tpo" "$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Plo"; else rm -f "$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xfsm-compat-gnome.c' object='xfce4_session-xfsm-compat-gnome.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/xfce4_session-xfsm-compat-gnome.Plo' tmpdepfile='$(DEPDIR)/xfce4_session-xfsm-compat-gnome.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -c -o xfce4_session-xfsm-compat-gnome.lo `test -f 'xfsm-compat-gnome.c' || echo '$(srcdir)/'`xfsm-compat-gnome.c
+
+xfce4_session-xfsm-compat-kde.o: xfsm-compat-kde.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -MT xfce4_session-xfsm-compat-kde.o -MD -MP -MF "$(DEPDIR)/xfce4_session-xfsm-compat-kde.Tpo" -c -o xfce4_session-xfsm-compat-kde.o `test -f 'xfsm-compat-kde.c' || echo '$(srcdir)/'`xfsm-compat-kde.c; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfce4_session-xfsm-compat-kde.Tpo" "$(DEPDIR)/xfce4_session-xfsm-compat-kde.Po"; else rm -f "$(DEPDIR)/xfce4_session-xfsm-compat-kde.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xfsm-compat-kde.c' object='xfce4_session-xfsm-compat-kde.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/xfce4_session-xfsm-compat-kde.Po' tmpdepfile='$(DEPDIR)/xfce4_session-xfsm-compat-kde.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -c -o xfce4_session-xfsm-compat-kde.o `test -f 'xfsm-compat-kde.c' || echo '$(srcdir)/'`xfsm-compat-kde.c
+
+xfce4_session-xfsm-compat-kde.obj: xfsm-compat-kde.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -MT xfce4_session-xfsm-compat-kde.obj -MD -MP -MF "$(DEPDIR)/xfce4_session-xfsm-compat-kde.Tpo" -c -o xfce4_session-xfsm-compat-kde.obj `if test -f 'xfsm-compat-kde.c'; then $(CYGPATH_W) 'xfsm-compat-kde.c'; else $(CYGPATH_W) '$(srcdir)/xfsm-compat-kde.c'; fi`; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfce4_session-xfsm-compat-kde.Tpo" "$(DEPDIR)/xfce4_session-xfsm-compat-kde.Po"; else rm -f "$(DEPDIR)/xfce4_session-xfsm-compat-kde.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xfsm-compat-kde.c' object='xfce4_session-xfsm-compat-kde.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/xfce4_session-xfsm-compat-kde.Po' tmpdepfile='$(DEPDIR)/xfce4_session-xfsm-compat-kde.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -c -o xfce4_session-xfsm-compat-kde.obj `if test -f 'xfsm-compat-kde.c'; then $(CYGPATH_W) 'xfsm-compat-kde.c'; else $(CYGPATH_W) '$(srcdir)/xfsm-compat-kde.c'; fi`
+
+xfce4_session-xfsm-compat-kde.lo: xfsm-compat-kde.c
+@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -MT xfce4_session-xfsm-compat-kde.lo -MD -MP -MF "$(DEPDIR)/xfce4_session-xfsm-compat-kde.Tpo" -c -o xfce4_session-xfsm-compat-kde.lo `test -f 'xfsm-compat-kde.c' || echo '$(srcdir)/'`xfsm-compat-kde.c; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfce4_session-xfsm-compat-kde.Tpo" "$(DEPDIR)/xfce4_session-xfsm-compat-kde.Plo"; else rm -f "$(DEPDIR)/xfce4_session-xfsm-compat-kde.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xfsm-compat-kde.c' object='xfce4_session-xfsm-compat-kde.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/xfce4_session-xfsm-compat-kde.Plo' tmpdepfile='$(DEPDIR)/xfce4_session-xfsm-compat-kde.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -c -o xfce4_session-xfsm-compat-kde.lo `test -f 'xfsm-compat-kde.c' || echo '$(srcdir)/'`xfsm-compat-kde.c
+
xfce4_session-xfsm-fadeout.o: xfsm-fadeout.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfce4_session_CFLAGS) $(CFLAGS) -MT xfce4_session-xfsm-fadeout.o -MD -MP -MF "$(DEPDIR)/xfce4_session-xfsm-fadeout.Tpo" -c -o xfce4_session-xfsm-fadeout.o `test -f 'xfsm-fadeout.c' || echo '$(srcdir)/'`xfsm-fadeout.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xfce4_session-xfsm-fadeout.Tpo" "$(DEPDIR)/xfce4_session-xfsm-fadeout.Po"; else rm -f "$(DEPDIR)/xfce4_session-xfsm-fadeout.Tpo"; exit 1; fi
diff --git a/xfce4-session/main.c b/xfce4-session/main.c
index 2cd842db..6d27f02e 100644
--- a/xfce4-session/main.c
+++ b/xfce4-session/main.c
@@ -249,6 +249,10 @@ initialize (int argc, char **argv)
init_splash (dpy, rc, theme);
+ xfce_rc_set_group (rc, "Compatibility");
+ compat_gnome = xfce_rc_read_bool_entry (rc, "LaunchGnome", FALSE);
+ compat_kde = xfce_rc_read_bool_entry (rc, "LaunchKDE", FALSE);
+
xfce_rc_set_group (rc, "General");
sm_init (rc, disable_tcp);
xfsm_startup_init (rc);
diff --git a/xfce4-session/shutdown.c b/xfce4-session/shutdown.c
index 1849db4c..e7ddbefb 100644
--- a/xfce4-session/shutdown.c
+++ b/xfce4-session/shutdown.c
@@ -42,6 +42,8 @@
#include <gtk/gtk.h>
#include <xfce4-session/shutdown.h>
+#include <xfce4-session/xfsm-compat-gnome.h>
+#include <xfce4-session/xfsm-compat-kde.h>
#include <xfce4-session/xfsm-global.h>
#include <xfce4-session/xfsm-fadeout.h>
#include <xfce4-session/xfsm-shutdown-helper.h>
@@ -466,6 +468,14 @@ shutdown(gint type)
{
gboolean result;
+#ifdef HAVE_GNOME
+ if (compat_gnome)
+ xfsm_compat_gnome_shutdown ();
+#endif
+
+ if (compat_kde)
+ xfsm_compat_kde_shutdown ();
+
if (type == SHUTDOWN_LOGOUT)
return EXIT_SUCCESS;
diff --git a/xfce4-session/xfsm-compat-gnome.c b/xfce4-session/xfsm-compat-gnome.c
new file mode 100644
index 00000000..afef123e
--- /dev/null
+++ b/xfce4-session/xfsm-compat-gnome.c
@@ -0,0 +1,224 @@
+/* $Id$ */
+/*-
+ * Copyright (c) 2004 Benedikt Meurer <benny@xfce.org>
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * Most parts of this file where taken from gnome-session.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifdef HAVE_GNOME
+
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_WAIT_H
+#include <sys/wait.h>
+#endif
+
+#ifdef HAVE_SIGNAL_H
+#include <signal.h>
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#include <libgnome/libgnome.h>
+#include <libxfce4util/libxfce4util.h>
+#include <gconf/gconf-client.h>
+
+#include <xfce4-session/xfsm-compat-gnome.h>
+
+
+#define ACCESSIBILITY_KEY "/desktop/gnome/interface/accessibility"
+#define AT_STARTUP_KEY "/desktop/gnome/accessibility/startup/exec_ats"
+
+
+static GConfClient *gnome_conf_client = NULL;
+static pid_t gnome_keyring_daemon_pid = 0;
+
+static void
+gnome_keyring_daemon_startup (void)
+{
+ GError *error = NULL;
+ gchar *sout;
+ gchar **lines;
+ gint status;
+ long pid;
+ gchar *pid_str;
+ gchar *end;
+
+ g_spawn_command_line_sync ("gnome-keyring-daemon",
+ &sout, NULL, &status, &error);
+
+ if (error != NULL)
+ {
+ g_printerr ("Failed to run gnome-keyring-daemon: %s\n",
+ error->message);
+ g_error_free (error);
+ }
+ else
+ {
+ if (WIFEXITED (status) && WEXITSTATUS (status) == 0 && sout != NULL)
+ {
+ lines = g_strsplit (sout, "\n", 3);
+
+ if (lines[0] != NULL && lines[1] != NULL
+ && g_str_has_prefix (lines[1], "GNOME_KEYRING_PID="))
+ {
+ pid_str = lines[1] + strlen ("GNOME_KEYRING_PID=");
+ pid = strtol (pid_str, &end, 10);
+
+ if (end != pid_str)
+ {
+ gnome_keyring_daemon_pid = pid;
+ xfce_putenv (lines[0]);
+ }
+ }
+
+ g_strfreev (lines);
+ }
+ else
+ {
+ /* daemon failed for some reason */
+ g_printerr ("gnome-keyring-daemon failed to start correctly, "
+ "exit code: %d\n", WEXITSTATUS (status));
+ }
+
+ g_free (sout);
+ }
+}
+
+static void
+gnome_keyring_daemon_shutdown (void)
+{
+ if (gnome_keyring_daemon_pid != 0)
+ {
+ kill (gnome_keyring_daemon_pid, SIGTERM);
+ gnome_keyring_daemon_pid = 0;
+ }
+}
+
+
+static void
+gnome_ast_startup (void)
+{
+ GError *error = NULL;
+ GSList *list;
+ GSList *lp;
+ gchar *path;
+
+ list = gconf_client_get_list (gnome_conf_client, AT_STARTUP_KEY,
+ GCONF_VALUE_STRING, &error);
+
+ if (error != NULL)
+ {
+ g_warning ("Failed to query value of " AT_STARTUP_KEY ": %s",
+ error->message);
+ g_error_free (error);
+ }
+ else
+ {
+ for (lp = list; lp != NULL; lp = lp->next)
+ {
+ path = g_find_program_in_path ((const gchar *) lp->data);
+ if (path != NULL)
+ {
+ g_spawn_command_line_async (path, &error);
+ if (error != NULL)
+ {
+ g_warning ("Failed to execute assistive helper %s: %s",
+ path, error->message);
+ g_error_free (error);
+ }
+ else
+ {
+ /* give it some time to fire up */
+ g_usleep (50 * 1000);
+ }
+ g_free (path);
+ }
+ g_free (lp->data);
+ }
+ g_slist_free (list);
+ }
+}
+
+
+void
+xfsm_compat_gnome_startup (XfsmSplashScreen *splash)
+{
+ /* fire up the keyring daemon */
+ xfsm_splash_screen_next (splash, _("Starting The Gnome Keyring Daemon"));
+ gnome_keyring_daemon_startup ();
+
+ /* connect to the GConf daemon */
+ gnome_conf_client = gconf_client_get_default ();
+ if (gnome_conf_client != NULL)
+ {
+ if (gconf_client_get_bool (gnome_conf_client, ACCESSIBILITY_KEY, NULL))
+ {
+ xfsm_splash_screen_next (splash,
+ _("Starting Gnome Assistive Technologies"));
+ gnome_ast_startup ();
+ }
+ }
+}
+
+
+void
+xfsm_compat_gnome_shutdown (void)
+{
+ GError *error = NULL;
+ gint status;
+
+ /* shutdown the keyring daemon */
+ gnome_keyring_daemon_shutdown ();
+
+ if (gnome_conf_client != NULL)
+ {
+ g_object_unref (G_OBJECT (gnome_conf_client));
+ gnome_conf_client = NULL;
+ }
+
+ /* shutdown the GConf daemon */
+ if (!g_spawn_command_line_sync ("gconftool-2 --shutdown", NULL,
+ NULL, &status, &error))
+ {
+ g_warning ("Failed to shutdown the GConf daemon on logout: %s",
+ error->message);
+ g_error_free (error);
+ }
+ else if (status != 0)
+ {
+ g_warning ("Failed to shutdown the GConf daemon on logout: "
+ "gconftool-2 returned status %d", status);
+ }
+}
+
+#endif
+
diff --git a/xfce4-session/xfsm-compat-gnome.h b/xfce4-session/xfsm-compat-gnome.h
new file mode 100644
index 00000000..a78680cd
--- /dev/null
+++ b/xfce4-session/xfsm-compat-gnome.h
@@ -0,0 +1,32 @@
+/* $Id$ */
+/*-
+ * Copyright (c) 2004 Benedikt Meurer <benny@xfce.org>
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * Most parts of this file where taken from gnome-session.
+ */
+
+#ifndef __XFSM_COMPAT_GNOME_H__
+#define __XFSM_COMPAT_GNOME_H__
+
+#include <xfce4-session/xfsm-splash-screen.h>
+
+void xfsm_compat_gnome_startup (XfsmSplashScreen *splash);
+void xfsm_compat_gnome_shutdown (void);
+
+#endif /* !__XFSM_COMPAT_GNOME_H__ */
diff --git a/xfce4-session/xfsm-compat-kde.c b/xfce4-session/xfsm-compat-kde.c
new file mode 100644
index 00000000..08db0c9c
--- /dev/null
+++ b/xfce4-session/xfsm-compat-kde.c
@@ -0,0 +1,66 @@
+/* $Id$ */
+/*-
+ * Copyright (c) 2003-2004 Benedikt Meurer <benny@xfce.org>
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <libxfce4util/libxfce4util.h>
+
+#include <xfce4-session/xfsm-compat-kde.h>
+
+
+static void
+run (const gchar *command)
+{
+ gchar buffer[2048];
+
+ g_snprintf (buffer, 2048, "env DYLD_FORCE_FLAT_NAMESPACE= LD_BIND_NOW=true "
+ "SESSION_MANAGER= %s", command);
+ g_spawn_command_line_sync (buffer, NULL, NULL, NULL, NULL);
+}
+
+
+void
+xfsm_compat_kde_startup (XfsmSplashScreen *splash)
+{
+ gchar command[256];
+
+ xfsm_splash_screen_next (splash, _("Starting KDE services"));
+ run ("kdeinit +kcminit");
+
+ /* tell klauncher about the session manager */
+ g_snprintf (command, 256, "dcop klauncher klauncher setLaunchEnv "
+ "SESSION_MANAGER \"%s\"",
+ g_getenv ("SESSION_MANAGER"));
+ run (command);
+}
+
+
+void
+xfsm_compat_kde_shutdown (void)
+{
+ /* shutdown KDE services */
+ run ("kdeinit_shutdown");
+ run ("dcopserver_shutdown");
+ run ("artsshell -q terminate");
+}
+
diff --git a/xfce4-session/xfsm-compat-kde.h b/xfce4-session/xfsm-compat-kde.h
new file mode 100644
index 00000000..59c8ec09
--- /dev/null
+++ b/xfce4-session/xfsm-compat-kde.h
@@ -0,0 +1,31 @@
+/* $Id$ */
+/*-
+ * Copyright (c) 2003-2004 Benedikt Meurer <benny@xfce.org>
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef __XFSM_COMPAT_KDE_H__
+#define __XFSM_COMPAT_KDE_H__
+
+#include <xfce4-session/xfsm-splash-screen.h>
+
+
+void xfsm_compat_kde_startup (XfsmSplashScreen *splash);
+void xfsm_compat_kde_shutdown (void);
+
+#endif /* !__XFSM_COMPAT_KDE_H__ */
diff --git a/xfce4-session/xfsm-global.c b/xfce4-session/xfsm-global.c
index 1a5036ea..5d3b0286 100644
--- a/xfce4-session/xfsm-global.c
+++ b/xfce4-session/xfsm-global.c
@@ -36,6 +36,8 @@
/* global variables */
gboolean verbose = FALSE;
+gboolean compat_kde = FALSE;
+gboolean compat_gnome = FALSE;
GList *starting_properties = NULL;
GList *pending_properties = NULL;
GList *restart_properties = NULL;
diff --git a/xfce4-session/xfsm-global.h b/xfce4-session/xfsm-global.h
index 9b566821..25b523ad 100644
--- a/xfce4-session/xfsm-global.h
+++ b/xfce4-session/xfsm-global.h
@@ -37,6 +37,8 @@ struct _FailsafeClient
extern gboolean verbose;
+extern gboolean compat_kde;
+extern gboolean compat_gnome;
extern GList *starting_properties;
extern GList *pending_properties;
extern GList *restart_properties;
diff --git a/xfce4-session/xfsm-splash-screen.c b/xfce4-session/xfsm-splash-screen.c
index af042115..92ffe186 100644
--- a/xfce4-session/xfsm-splash-screen.c
+++ b/xfce4-session/xfsm-splash-screen.c
@@ -592,6 +592,11 @@ display_chooser_text (XfsmSplashScreen *splash,
if (text != NULL)
{
+ /* prevent from flicker */
+ gdk_draw_rectangle (GDK_DRAWABLE (splash->backbuf), splash->set_gc,
+ TRUE, 0, splash->screen_h -splash->text_h,
+ splash->screen_w, splash->text_h);
+
g_snprintf (markup,256,"<span face=\"Sans\" size=\"xx-large\">%s</span>",
text);
context = gdk_pango_context_get_for_screen (splash->main_screen);
@@ -600,7 +605,8 @@ display_chooser_text (XfsmSplashScreen *splash,
pango_layout_get_pixel_size (layout, &tw, &th);
gdk_draw_layout (GDK_DRAWABLE (splash->backbuf), splash->copy_gc,
(splash->screen_w - tw) / 2,
- splash->screen_h - splash->text_h,
+ splash->screen_h - splash->text_h
+ + (splash->text_h - th) / 2,
layout);
if (splash->skip_pm != NULL)
@@ -651,8 +657,6 @@ chooser_timeout_display (XfsmSplashScreen *splash)
{
char buffer[256];
- display_chooser_text (splash, NULL);
-
g_snprintf (buffer, 256, "Restoring <b>%s</b> in %d seconds",
splash->chooser_session,
splash->chooser_seconds_left);
@@ -733,11 +737,7 @@ xfsm_splash_screen_choose (XfsmSplashScreen *splash,
return (lp != NULL);
}
-#if 0
- display_chooser_text (splash, _("Pick a session or create a new one"));
-#else
display_chooser_text (splash, NULL);
-#endif
chooser = g_object_new (XFSM_TYPE_CHOOSER,
"type", GTK_WINDOW_POPUP,
diff --git a/xfce4-session/xfsm-startup.c b/xfce4-session/xfsm-startup.c
index 6e29acfe..a2f9aa00 100644
--- a/xfce4-session/xfsm-startup.c
+++ b/xfce4-session/xfsm-startup.c
@@ -43,15 +43,14 @@
#include <libxfce4util/libxfce4util.h>
+#include <xfce4-session/xfsm-compat-gnome.h>
+#include <xfce4-session/xfsm-compat-kde.h>
#include <xfce4-session/xfsm-global.h>
#include <xfce4-session/xfsm-manager.h>
#include <xfce4-session/xfsm-splash-screen.h>
#include <xfce4-session/xfsm-util.h>
-#define KDEINIT "env DYLD_FORCE_FLAT_NAMESPACE= LD_BIND_NOW=true " \
- "SESSION_MANAGER= kdeinit +kcminit +knotify"
-
/*
Prototypes
@@ -60,29 +59,10 @@ static gboolean xfsm_startup_continue_failsafe (void);
static gboolean xfsm_startup_continue_session (const gchar *previous_id);
-/*
- Globals
- */
-static gchar *splash_theme_name = NULL;
-static gboolean startup_kde = FALSE;
-static gboolean startup_gnome = FALSE;
-
-
void
xfsm_startup_init (XfceRc *rc)
{
- const gchar *name;
-
- xfce_rc_set_group (rc, "Splash Theme");
- name = xfce_rc_read_entry (rc, "Name", NULL);
- if (name != NULL)
- splash_theme_name = g_strdup (name);
- else
- splash_theme_name = NULL;
-
- xfce_rc_set_group (rc, "Compatibility");
- startup_gnome = xfce_rc_read_bool_entry (rc, "LaunchGnome", FALSE);
- startup_kde = xfce_rc_read_bool_entry (rc, "LaunchKDE", FALSE);
+ /* nothing to be done here, currently */
}
@@ -217,13 +197,13 @@ xfsm_startup_autostart (void)
void
xfsm_startup_foreign (void)
{
- if (startup_kde)
- {
- xfsm_splash_screen_next (splash_screen, _("Launching KDE services..."));
- gdk_flush ();
+ if (compat_kde)
+ xfsm_compat_kde_startup (splash_screen);
- g_spawn_command_line_sync (KDEINIT, NULL, NULL, NULL, NULL);
- }
+#ifdef HAVE_GNOME
+ if (compat_gnome)
+ xfsm_compat_gnome_startup (splash_screen);
+#endif
}
@@ -240,9 +220,7 @@ xfsm_startup_continue (const gchar *previous_id)
/* perform Autostart */
if (startup_done)
- {
- xfsm_startup_autostart ();
- }
+ xfsm_startup_autostart ();
return startup_done;
}
diff --git a/xfsm-shutdown-helper/Makefile.in b/xfsm-shutdown-helper/Makefile.in
index 27e0d08c..b2196fd7 100644
--- a/xfsm-shutdown-helper/Makefile.in
+++ b/xfsm-shutdown-helper/Makefile.in
@@ -107,6 +107,9 @@ FFLAGS = @FFLAGS@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
+GNOME_CFLAGS = @GNOME_CFLAGS@
+GNOME_LIBS = @GNOME_LIBS@
+GNOME_REQUIRED_VERSION = @GNOME_REQUIRED_VERSION@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@