12752
|
1 |
--- gnome-session-2.23.4/gnome-session/gsm.h-orig 2008-06-19 15:12:05.273155000 -0500
|
|
2 |
+++ gnome-session-2.23.4/gnome-session/gsm.h 2008-06-19 15:12:29.015042000 -0500
|
|
3 |
@@ -4,6 +4,9 @@
|
|
4 |
#define GSM_GCONF_DEFAULT_SESSION_KEY "/desktop/gnome/session/default-session"
|
|
5 |
#define GSM_GCONF_REQUIRED_COMPONENTS_DIRECTORY "/desktop/gnome/session/required-components"
|
|
6 |
|
|
7 |
+/* Start gnome-about on first-time startup */
|
|
8 |
+#define ABOUT_PROMPT_KEY "/desktop/gnome/session/sun_extensions/viewed_about_jds_three"
|
|
9 |
+
|
|
10 |
void gsm_initialization_error (gboolean fatal, const char *format, ...);
|
|
11 |
|
|
12 |
extern GsmSession *global_session;
|
|
13 |
--- gnome-session-2.23.4/gnome-session/main.c-orig 2008-06-19 16:26:15.033705000 -0500
|
|
14 |
+++ gnome-session-2.23.4/gnome-session/main.c 2008-06-19 16:34:42.940141000 -0500
|
|
15 |
@@ -37,6 +37,21 @@ static GOptionEntry entries[] = {
|
|
16 |
{ NULL, 0, 0, 0, NULL, NULL, NULL }
|
|
17 |
};
|
|
18 |
|
|
19 |
+static gint
|
|
20 |
+show_gnome_about (gpointer data)
|
|
21 |
+{
|
|
22 |
+ int status;
|
|
23 |
+
|
|
24 |
+ if (g_spawn_command_line_async("gnome-about", NULL))
|
|
25 |
+ {
|
|
26 |
+ GConfClient *gconf_client = gconf_client_get_default ();
|
|
27 |
+ gconf_client_set_bool (gconf_client, ABOUT_PROMPT_KEY, TRUE, NULL);
|
|
28 |
+ g_object_unref (gconf_client);
|
|
29 |
+ }
|
|
30 |
+
|
|
31 |
+ return FALSE;
|
|
32 |
+}
|
|
33 |
+
|
|
34 |
/**
|
|
35 |
* gsm_initialization_error:
|
|
36 |
* @fatal: whether or not the error is fatal to the login session
|
|
37 |
@@ -94,6 +109,8 @@ main (int argc, char **argv)
|
|
38 |
char *display_str;
|
|
39 |
Display *xdisp;
|
|
40 |
GdkDisplay *gdisp;
|
|
41 |
+ gboolean show_about;
|
|
42 |
+ GConfClient *gconf_client;
|
|
43 |
|
|
44 |
bindtextdomain (GETTEXT_PACKAGE, LOCALE_DIR);
|
|
45 |
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
|
46 |
@@ -143,6 +160,18 @@ main (int argc, char **argv)
|
|
47 |
|
|
48 |
gsm_session_start (global_session);
|
|
49 |
|
|
50 |
+ gconf_client = gconf_client_get_default ();
|
|
51 |
+ show_about = gconf_client_get_bool (gconf_client, ABOUT_PROMPT_KEY, NULL);
|
|
52 |
+
|
|
53 |
+#ifndef HAVE_XTSOL
|
|
54 |
+ if (! show_about)
|
|
55 |
+ gtk_timeout_add (4000, show_gnome_about, NULL);
|
|
56 |
+#else
|
|
57 |
+ if (! trusted_session)
|
|
58 |
+ if (! show_about)
|
|
59 |
+ gtk_timeout_add (4000, show_gnome_about, NULL);
|
|
60 |
+#endif
|
|
61 |
+
|
|
62 |
gtk_main ();
|
|
63 |
|
|
64 |
gsm_xsmp_shutdown ();
|