gnome-session-02-gnome-about.diff revision 13771
diff -urN session.orig/gnome-session/session.c session.new/gnome-session/session.c
--- session.orig/gnome-session/session.c 2008-08-05 13:11:56.645264000 +0100
+++ session.new/gnome-session/session.c 2008-08-05 13:42:35.726774000 +0100
@@ -636,12 +636,36 @@
end_phase (session);
}
+#define ABOUT_PROMPT_KEY "/desktop/gnome/session/sun_extensions/viewed_about_jds_three"
+
+static gint
+show_gnome_about (gpointer data)
+{
+ int status;
+
+ if (g_spawn_command_line_async("gnome-about", NULL))
+ {
+ GConfClient *gconf_client = gconf_client_get_default ();
+ gconf_client_set_bool (gconf_client, ABOUT_PROMPT_KEY, TRUE, NULL);
+ g_object_unref (gconf_client);
+ }
+
+ return FALSE;
+}
+
void
gsm_session_start (GsmSession *session)
{
+ gboolean show_about;
+ GConfClient *gconf_client;
+
session->phase = GSM_SESSION_PHASE_INITIALIZATION;
start_phase (session);
+
+ gconf_client = gconf_client_get_default ();
+ show_about = gconf_client_get_bool (gconf_client, ABOUT_PROMPT_KEY, NULL);
+ if (!show_about) gtk_timeout_add (4000, show_gnome_about, NULL);
}
GsmSessionPhase