diff --git a/ChangeLog b/ChangeLog index efaf98b5f..e07fdb5cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2000-08-18 Bradford Hovinen + * configure.in: Check for putenv and setenv and set appropriate + macros in config.h + * capplets/background-properties/app-background.c (main): Call do_set_xml and do_get_xml when --get or --set detected diff --git a/acconfig.h b/acconfig.h index 5d0df38d1..654f4507f 100644 --- a/acconfig.h +++ b/acconfig.h @@ -20,3 +20,6 @@ #undef HAVE_DEVGTK #undef WITH_SYMBOL_UNDERSCORE + +#undef HAVE_PUTENV +#undef HAVE_SETENV diff --git a/capplets/screensaver/ChangeLog b/capplets/screensaver/ChangeLog index 87581ccff..fadc0414f 100644 --- a/capplets/screensaver/ChangeLog +++ b/capplets/screensaver/ChangeLog @@ -1,9 +1,17 @@ +2000-08-18 Bradford Hovinen + + * preview.c (setup_path): Use setenv only when available, try to + use putenv otherwise + 2000-08-17 Stanislav Brabec * screensavers/Makefile.am: Search .xml files in srcdir. 2000-08-16 Bradford Hovinen + * prefs-widget.c (prefs_widget_get_prefs): Set power control + sensitivity when reading preferences structure + * preferences.c (preferences_write_xml): (preferences_read_xml): Added missing entries stored in gnome-config rather than .xscreensaver diff --git a/capplets/screensaver/prefs-widget.c b/capplets/screensaver/prefs-widget.c index bfd67d0d0..be917a6fa 100644 --- a/capplets/screensaver/prefs-widget.c +++ b/capplets/screensaver/prefs-widget.c @@ -854,6 +854,8 @@ prefs_widget_get_prefs (PrefsWidget *prefs_widget, Preferences *prefs) GtkAdjustment *adjustment; GdkVisual *visual; + /* Selection mode */ + prefs_widget->selection_mode = prefs->selection_mode; switch (prefs->selection_mode) { @@ -874,6 +876,8 @@ prefs_widget_get_prefs (PrefsWidget *prefs_widget, Preferences *prefs) break; } + /* Basic options */ + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); gtk_spin_button_set_value @@ -884,6 +888,8 @@ prefs_widget_get_prefs (PrefsWidget *prefs_widget, Preferences *prefs) (GTK_SPIN_BUTTON (prefs_widget->cycle_length_widget), prefs->cycle); + /* Locking controls */ + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_widget->lock_widget), prefs->lock); @@ -898,6 +904,10 @@ prefs_widget_get_prefs (PrefsWidget *prefs_widget, Preferences *prefs) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_widget->enable_timeout_widget), (gboolean) prefs->lock_timeout); + + set_lock_controls_sensitive (prefs_widget, prefs->lock); + + /* Power management controls */ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_widget->pwr_manage_enable), @@ -907,8 +917,6 @@ prefs_widget_get_prefs (PrefsWidget *prefs_widget, Preferences *prefs) (GTK_SPIN_BUTTON (prefs_widget->standby_time_widget), prefs->standby_time); - set_standby_time_sensitive (prefs_widget, - (gboolean) prefs->standby_time); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_widget->standby_monitor_toggle), (gboolean) prefs->standby_time); @@ -917,8 +925,6 @@ prefs_widget_get_prefs (PrefsWidget *prefs_widget, Preferences *prefs) (GTK_SPIN_BUTTON (prefs_widget->suspend_time_widget), prefs->suspend_time); - set_suspend_time_sensitive (prefs_widget, - (gboolean) prefs->suspend_time); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_widget->suspend_monitor_toggle), (gboolean) prefs->suspend_time); @@ -927,13 +933,25 @@ prefs_widget_get_prefs (PrefsWidget *prefs_widget, Preferences *prefs) (GTK_SPIN_BUTTON (prefs_widget->shut_down_time_widget), prefs->power_down_time); - set_power_down_time_sensitive (prefs_widget, - (gboolean) prefs->power_down_time); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_widget->shut_down_monitor_toggle), (gboolean) prefs->power_down_time); - set_lock_controls_sensitive (prefs_widget, prefs->lock); + if (prefs->power_management) { + set_power_controls_sensitive (prefs_widget, TRUE); + + set_standby_time_sensitive (prefs_widget, + (gboolean) prefs->standby_time); + set_suspend_time_sensitive (prefs_widget, + (gboolean) prefs->suspend_time); + set_power_down_time_sensitive + (prefs_widget, (gboolean) prefs->power_down_time); + + } else { + set_power_controls_sensitive (prefs_widget, FALSE); + } + + /* Advanced options */ adjustment = gtk_range_get_adjustment (GTK_RANGE (prefs_widget->nice_widget)); @@ -943,6 +961,8 @@ prefs_widget_get_prefs (PrefsWidget *prefs_widget, Preferences *prefs) (GTK_TOGGLE_BUTTON (prefs_widget->verbose_widget), prefs->verbose); + /* Colormap and fade controls */ + visual = gdk_visual_get_system (); if (visual->type == GDK_VISUAL_GRAYSCALE || @@ -995,6 +1015,8 @@ prefs_widget_get_prefs (PrefsWidget *prefs_widget, Preferences *prefs) set_fade_controls_sensitive (prefs_widget, FALSE); } + /* Screensavers list */ + prefs_widget_set_screensavers (prefs_widget, prefs->screensavers, prefs->selection_mode); diff --git a/capplets/screensaver/preview.c b/capplets/screensaver/preview.c index 77fd5d86b..c1ca6ed95 100644 --- a/capplets/screensaver/preview.c +++ b/capplets/screensaver/preview.c @@ -92,6 +92,9 @@ setup_path (void) { GString *newpath; char *path; +#if !defined(HAVE_SETENV) && defined(HAVE_PUTENV) + char *str; +#endif GList *node; node = get_screensaver_dir_list (); @@ -104,7 +107,14 @@ setup_path (void) g_string_append (newpath, (gchar *) node->data); } +#if defined(HAVE_SETENV) setenv ("PATH", newpath->str, TRUE); +#elif defined(HAVE_PUTENV) + str = g_strdup_printf ("PATH=%s", newpath->str); + putenv (str); + g_free (str); +#endif + g_string_free (newpath, TRUE); } diff --git a/configure.in b/configure.in index 8c9bd1a28..7fe0e965d 100644 --- a/configure.in +++ b/configure.in @@ -48,6 +48,8 @@ apps, like panel, will not run properly.)) AC_SUBST(DL_LIB) AC_CHECK_FUNCS(usleep) +AC_CHECK_FUNCS(putenv,[AC_DEFINE(HAVE_PUTENV)]) +AC_CHECK_FUNCS(setenv,[AC_DEFINE(HAVE_SETENV)]) dnl keyboard-properties-capplet AC_CHECK_HEADERS(X11/extensions/xf86misc.h, XF86MISC_LIBS="-lXxf86misc")