This commit is contained in:
parent
bde4e69e1c
commit
cc5c3243dd
@ -1,25 +0,0 @@
|
||||
Index: gnome-session-2.19.4/gnome-session/ice.c
|
||||
===================================================================
|
||||
--- gnome-session-2.19.4.orig/gnome-session/ice.c
|
||||
+++ gnome-session-2.19.4/gnome-session/ice.c
|
||||
@@ -384,6 +384,8 @@ initialize_ice (void)
|
||||
ids = IceComposeNetworkIdList (num_sockets, sockets);
|
||||
g_setenv (ENVNAME, ids, TRUE);
|
||||
free (ids);
|
||||
+
|
||||
+ putenv (g_strconcat (ICE_AUTHORITY_ENV_NAME "=", authfile, NULL));
|
||||
|
||||
ice_depth = 0; /* We are live */
|
||||
}
|
||||
Index: gnome-session-2.19.4/gnome-session/ice.h
|
||||
===================================================================
|
||||
--- gnome-session-2.19.4.orig/gnome-session/ice.h
|
||||
+++ gnome-session-2.19.4/gnome-session/ice.h
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
#define MAGIC_COOKIE_LEN 16
|
||||
#define ENVNAME "SESSION_MANAGER"
|
||||
+#define ICE_AUTHORITY_ENV_NAME "ICEAUTHORITY"
|
||||
|
||||
/* List of all auth entries. */
|
||||
extern GSList *auth_entries;
|
@ -1,318 +0,0 @@
|
||||
--- gnome-session/gdm-logout-action.c
|
||||
+++ gnome-session/gdm-logout-action.c
|
||||
@@ -56,6 +56,8 @@
|
||||
#define GDM_ACTION_STR_REBOOT "REBOOT"
|
||||
#define GDM_ACTION_STR_SUSPEND "SUSPEND"
|
||||
|
||||
+#define KDM_PROTOCOL_MSG_QUERY_ACTION "caps"
|
||||
+
|
||||
typedef struct {
|
||||
int fd;
|
||||
char *auth_cookie;
|
||||
@@ -64,6 +66,8 @@
|
||||
GdmLogoutAction current_actions;
|
||||
|
||||
time_t last_update;
|
||||
+
|
||||
+ guint is_kdm : 1;
|
||||
} GdmProtocolData;
|
||||
|
||||
static GdmProtocolData gdm_protocol_data = {
|
||||
@@ -71,11 +75,12 @@
|
||||
NULL,
|
||||
GDM_LOGOUT_ACTION_NONE,
|
||||
GDM_LOGOUT_ACTION_NONE,
|
||||
- 0
|
||||
+ 0,
|
||||
+ FALSE
|
||||
};
|
||||
|
||||
static char *
|
||||
-gdm_send_protocol_msg (GdmProtocolData *data,
|
||||
+dm_send_protocol_msg (GdmProtocolData *data,
|
||||
const char *msg)
|
||||
{
|
||||
GString *retval;
|
||||
@@ -87,7 +92,7 @@
|
||||
if (write (data->fd, p, strlen (p)) < 0) {
|
||||
g_free (p);
|
||||
|
||||
- g_warning ("Failed to send message to GDM: %s",
|
||||
+ g_warning ("Failed to send message to display manager: %s",
|
||||
g_strerror (errno));
|
||||
return NULL;
|
||||
}
|
||||
@@ -153,7 +158,7 @@
|
||||
|
||||
msg = g_strdup_printf (GDM_PROTOCOL_MSG_AUTHENTICATE " %s",
|
||||
data->auth_cookie);
|
||||
- response = gdm_send_protocol_msg (data, msg);
|
||||
+ response = dm_send_protocol_msg (data, msg);
|
||||
g_free (msg);
|
||||
|
||||
if (response && !strcmp (response, "OK")) {
|
||||
@@ -195,7 +200,7 @@
|
||||
XauDisposeAuth (xau);
|
||||
|
||||
msg = g_strdup_printf (GDM_PROTOCOL_MSG_AUTHENTICATE " %s", buffer);
|
||||
- response = gdm_send_protocol_msg (data, msg);
|
||||
+ response = dm_send_protocol_msg (data, msg);
|
||||
g_free (msg);
|
||||
|
||||
if (response && !strcmp (response, "OK")) {
|
||||
@@ -218,7 +223,7 @@
|
||||
}
|
||||
|
||||
static void
|
||||
-gdm_shutdown_protocol_connection (GdmProtocolData *data)
|
||||
+dm_shutdown_protocol_connection (GdmProtocolData *data)
|
||||
{
|
||||
if (data->fd)
|
||||
close (data->fd);
|
||||
@@ -237,7 +242,7 @@
|
||||
if (data->fd < 0) {
|
||||
g_warning ("Failed to create GDM socket: %s",
|
||||
g_strerror (errno));
|
||||
- gdm_shutdown_protocol_connection (data);
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -251,16 +256,16 @@
|
||||
if (connect (data->fd, (struct sockaddr *) &addr, sizeof (addr)) < 0) {
|
||||
g_warning ("Failed to establish a connection with GDM: %s",
|
||||
g_strerror (errno));
|
||||
- gdm_shutdown_protocol_connection (data);
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
- response = gdm_send_protocol_msg (data, GDM_PROTOCOL_MSG_VERSION);
|
||||
+ response = dm_send_protocol_msg (data, GDM_PROTOCOL_MSG_VERSION);
|
||||
if (!response || strncmp (response, "GDM ", strlen ("GDM ") != 0)) {
|
||||
g_free (response);
|
||||
|
||||
g_warning ("Failed to get protocol version from GDM");
|
||||
- gdm_shutdown_protocol_connection (data);
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -268,13 +273,78 @@
|
||||
|
||||
if (!gdm_authenticate_connection (data)) {
|
||||
g_warning ("Failed to authenticate with GDM");
|
||||
- gdm_shutdown_protocol_connection (data);
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+static gboolean
|
||||
+kdm_init_protocol_connection (GdmProtocolData *data)
|
||||
+{
|
||||
+ struct sockaddr_un addr;
|
||||
+ char *response;
|
||||
+ char *dm_display;
|
||||
+ char *dm_control;
|
||||
+ char *p0 = NULL;
|
||||
+
|
||||
+ g_assert (data->fd <= 0);
|
||||
+
|
||||
+ data->fd = socket (AF_UNIX, SOCK_STREAM, 0);
|
||||
+ if (data->fd < 0) {
|
||||
+ g_warning ("Failed to create KDM socket: %s",
|
||||
+ g_strerror (errno));
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ dm_display = g_strdup (g_getenv ("DISPLAY"));
|
||||
+ dm_control = g_strdup (g_getenv ("DM_CONTROL"));
|
||||
+
|
||||
+ if (dm_display && (p0 = strchr (dm_display, ':')))
|
||||
+ p0 = strchr (p0, '.');
|
||||
+
|
||||
+ if (!dm_control || !strlen (dm_control) ||
|
||||
+ !dm_display || !strlen (dm_display)) {
|
||||
+ g_free (dm_control);
|
||||
+ g_free (dm_display);
|
||||
+
|
||||
+ g_warning ("Could not locate KDM socket.");
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ snprintf (addr.sun_path, sizeof (addr.sun_path), "%s/dmctl-%.*s/socket",
|
||||
+ dm_control, p0 ? p0 - dm_display : 512, dm_display);
|
||||
+ addr.sun_family = AF_UNIX;
|
||||
+
|
||||
+ g_free (dm_display);
|
||||
+ g_free (dm_control);
|
||||
+
|
||||
+ if (connect (data->fd, (struct sockaddr *) &addr, sizeof (addr)) < 0) {
|
||||
+ g_warning ("Failed to establish a connection with KDM: %s",
|
||||
+ g_strerror (errno));
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
+dm_init_protocol_connection (GdmProtocolData *data)
|
||||
+{
|
||||
+ if (g_getenv ("DM_CONTROL") && !g_getenv ("GDMSESSION")) {
|
||||
+ data->is_kdm = TRUE;
|
||||
+ return kdm_init_protocol_connection (data);
|
||||
+ }
|
||||
+
|
||||
+ data->is_kdm = FALSE;
|
||||
+ return gdm_init_protocol_connection (data);
|
||||
+}
|
||||
+
|
||||
+
|
||||
static void
|
||||
gdm_parse_query_response (GdmProtocolData *data,
|
||||
const char *response)
|
||||
@@ -322,7 +392,21 @@
|
||||
}
|
||||
|
||||
static void
|
||||
-gdm_update_logout_actions (GdmProtocolData *data)
|
||||
+kdm_parse_query_response (GdmProtocolData *data,
|
||||
+ const char *response)
|
||||
+{
|
||||
+ data->available_actions = GDM_LOGOUT_ACTION_NONE;
|
||||
+ data->current_actions = GDM_LOGOUT_ACTION_NONE;
|
||||
+
|
||||
+ if (!response)
|
||||
+ return;
|
||||
+
|
||||
+ if (strstr (response, "\tshutdown"))
|
||||
+ data->available_actions |= GDM_LOGOUT_ACTION_SHUTDOWN | GDM_LOGOUT_ACTION_REBOOT;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+dm_update_logout_actions (GdmProtocolData *data)
|
||||
{
|
||||
time_t current_time;
|
||||
char *response;
|
||||
@@ -333,21 +417,30 @@
|
||||
|
||||
data->last_update = current_time;
|
||||
|
||||
- if (!gdm_init_protocol_connection (data))
|
||||
+ if (!dm_init_protocol_connection (data))
|
||||
return;
|
||||
-
|
||||
- if ((response = gdm_send_protocol_msg (data, GDM_PROTOCOL_MSG_QUERY_ACTION))) {
|
||||
- gdm_parse_query_response (data, response);
|
||||
- g_free (response);
|
||||
- }
|
||||
|
||||
- gdm_shutdown_protocol_connection (data);
|
||||
+ if (data->is_kdm) {
|
||||
+ /* KDM */
|
||||
+ if ((response = dm_send_protocol_msg (data, KDM_PROTOCOL_MSG_QUERY_ACTION))) {
|
||||
+ kdm_parse_query_response (data, response);
|
||||
+ g_free (response);
|
||||
+ }
|
||||
+ } else {
|
||||
+ /* GDM */
|
||||
+ if ((response = dm_send_protocol_msg (data, GDM_PROTOCOL_MSG_QUERY_ACTION))) {
|
||||
+ gdm_parse_query_response (data, response);
|
||||
+ g_free (response);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
}
|
||||
|
||||
gboolean
|
||||
gdm_supports_logout_action (GdmLogoutAction action)
|
||||
{
|
||||
- gdm_update_logout_actions (&gdm_protocol_data);
|
||||
+ dm_update_logout_actions (&gdm_protocol_data);
|
||||
|
||||
return (gdm_protocol_data.available_actions & action) != 0;
|
||||
}
|
||||
@@ -355,20 +448,15 @@
|
||||
GdmLogoutAction
|
||||
gdm_get_logout_action (void)
|
||||
{
|
||||
- gdm_update_logout_actions (&gdm_protocol_data);
|
||||
+ dm_update_logout_actions (&gdm_protocol_data);
|
||||
|
||||
return gdm_protocol_data.current_actions;
|
||||
}
|
||||
|
||||
-void
|
||||
-gdm_set_logout_action (GdmLogoutAction action)
|
||||
+static char *
|
||||
+gdm_logout_action_msg (GdmLogoutAction action)
|
||||
{
|
||||
char *action_str = NULL;
|
||||
- char *msg;
|
||||
- char *response;
|
||||
-
|
||||
- if (!gdm_init_protocol_connection (&gdm_protocol_data))
|
||||
- return;
|
||||
|
||||
switch (action) {
|
||||
case GDM_LOGOUT_ACTION_NONE:
|
||||
@@ -385,14 +473,48 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- msg = g_strdup_printf (GDM_PROTOCOL_MSG_SET_ACTION " %s", action_str);
|
||||
+ return g_strdup_printf (GDM_PROTOCOL_MSG_SET_ACTION " %s", action_str);
|
||||
+}
|
||||
+
|
||||
+static char *
|
||||
+kdm_logout_action_msg (GdmLogoutAction action)
|
||||
+{
|
||||
+ char *msg = NULL;
|
||||
+
|
||||
+ if (action == GDM_LOGOUT_ACTION_SHUTDOWN)
|
||||
+ msg = g_strdup ("shutdown\thalt\task");
|
||||
+ else if (action == GDM_LOGOUT_ACTION_REBOOT)
|
||||
+ msg = g_strdup ("shutdown\treboot\task");
|
||||
+
|
||||
+ return msg;
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+gdm_set_logout_action (GdmLogoutAction action)
|
||||
+{
|
||||
+ char *action_str = NULL;
|
||||
+ char *msg;
|
||||
+ char *response;
|
||||
+
|
||||
+ if (!dm_init_protocol_connection (&gdm_protocol_data))
|
||||
+ return;
|
||||
+
|
||||
+ if (gdm_protocol_data.is_kdm)
|
||||
+ msg = kdm_logout_action_msg (action);
|
||||
+ else
|
||||
+ msg = gdm_logout_action_msg (action);
|
||||
+
|
||||
+ if (!msg) {
|
||||
+ dm_shutdown_protocol_connection (&gdm_protocol_data);
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
- response = gdm_send_protocol_msg (&gdm_protocol_data, msg);
|
||||
+ response = dm_send_protocol_msg (&gdm_protocol_data, msg);
|
||||
|
||||
g_free (msg);
|
||||
g_free (response);
|
||||
|
||||
gdm_protocol_data.last_update = 0;
|
||||
|
||||
- gdm_shutdown_protocol_connection (&gdm_protocol_data);
|
||||
+ dm_shutdown_protocol_connection (&gdm_protocol_data);
|
||||
}
|
@ -1,53 +0,0 @@
|
||||
diff -upr gnome-session-2.20.0-pre/gnome-session/gsm-at-startup.c gnome-session-2.20.0-post/gnome-session/gsm-at-startup.c
|
||||
--- gnome-session-2.20.0-pre/gnome-session/gsm-at-startup.c 2007-09-17 13:36:00.000000000 -0500
|
||||
+++ gnome-session-2.20.0-post/gnome-session/gsm-at-startup.c 2007-11-07 20:13:13.000000000 -0600
|
||||
@@ -66,7 +66,7 @@ gsm_assistive_registry_start (void)
|
||||
gdk_window_set_events (w, GDK_PROPERTY_CHANGE_MASK);
|
||||
gsm_exec_command_line_async (command, NULL);
|
||||
gdk_window_add_filter (w, gsm_assistive_filter_watch, &tid);
|
||||
- tid = g_timeout_add_seconds (5, gsm_assistive_filter_timeout, NULL);
|
||||
+ tid = g_timeout_add_seconds (10, gsm_assistive_filter_timeout, NULL);
|
||||
|
||||
gtk_main ();
|
||||
|
||||
diff -upr gnome-session-2.20.0-pre/gnome-session/main.c gnome-session-2.20.0-post/gnome-session/main.c
|
||||
--- gnome-session-2.20.0-pre/gnome-session/main.c 2007-11-07 20:03:51.000000000 -0600
|
||||
+++ gnome-session-2.20.0-post/gnome-session/main.c 2007-11-07 20:08:43.000000000 -0600
|
||||
@@ -641,18 +641,6 @@ main (int argc, char *argv[])
|
||||
gconf_client = gsm_get_conf_client ();
|
||||
gconf_client_add_dir (gconf_client, GSM_GCONF_CONFIG_PREFIX, GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
|
||||
|
||||
- env_a_t_support = g_getenv (ACCESSIBILITY_ENV);
|
||||
- if (env_a_t_support)
|
||||
- a_t_support = atoi (env_a_t_support);
|
||||
- else
|
||||
- a_t_support = gconf_client_get_bool (gconf_client, ACCESSIBILITY_KEY, NULL);
|
||||
-
|
||||
- if (a_t_support)
|
||||
- {
|
||||
- gsm_assistive_registry_start ();
|
||||
- gsm_at_set_gtk_modules ();
|
||||
- }
|
||||
-
|
||||
goption_context = g_option_context_new (N_("- Manage the GNOME session"));
|
||||
g_option_context_set_translation_domain (goption_context, GETTEXT_PACKAGE);
|
||||
g_option_context_add_main_entries (goption_context, options, GETTEXT_PACKAGE);
|
||||
@@ -752,6 +740,18 @@ main (int argc, char *argv[])
|
||||
if (splashing)
|
||||
splash_start ();
|
||||
|
||||
+ /* move this down so the environments from above get set up
|
||||
+ correctly before assistive modules activate items */
|
||||
+ env_a_t_support = g_getenv (ACCESSIBILITY_ENV);
|
||||
+ if (env_a_t_support)
|
||||
+ a_t_support = atoi (env_a_t_support);
|
||||
+
|
||||
+ if (a_t_support)
|
||||
+ {
|
||||
+ gsm_assistive_registry_start ();
|
||||
+ gsm_at_set_gtk_modules ();
|
||||
+ }
|
||||
+
|
||||
start_session (the_session);
|
||||
|
||||
gsm_motd_start ();
|
@ -1,14 +0,0 @@
|
||||
--- gnome-session-2.11.90/gnome-session/main.c
|
||||
+++ gnome-session-2.11.90/gnome-session/main.c
|
||||
@@ -391,6 +391,11 @@
|
||||
g_free (display_str);
|
||||
putenv (ep);
|
||||
|
||||
+ /* We are in a Gnome session, we want gnome-open to be the default
|
||||
+ * launching application.
|
||||
+ */
|
||||
+ putenv ("DESKTOP_LAUNCH=gnome-open");
|
||||
+
|
||||
ignore (SIGPIPE);
|
||||
|
||||
/* Need DISPLAY set */
|
@ -1,53 +0,0 @@
|
||||
--- pristine-gnome-session-2.22.1.1/gnome-session/manager.c 2008-04-10 15:32:20.000000000 +0100
|
||||
+++ gnome-session-2.22.1.1/gnome-session/manager.c 2008-04-30 10:53:27.000000000 +0100
|
||||
@@ -825,7 +825,6 @@
|
||||
return retval;
|
||||
}
|
||||
|
||||
-
|
||||
static Status
|
||||
register_client (SmsConn connection, SmPointer data, char *previous_id)
|
||||
{
|
||||
@@ -882,33 +881,20 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- char *id = SmsGenerateClientID (connection);
|
||||
-
|
||||
- if (id != NULL)
|
||||
- {
|
||||
- client->id = g_strdup (id);
|
||||
- free (id);
|
||||
- }
|
||||
- else
|
||||
+ /* If your network is mis-configured, it takes 15+ seconds for
|
||||
+ SmsGenerateClientID to fail each time it is called - and since
|
||||
+ the X method (libSM/src/sm_genid.c) does little of any value -
|
||||
+ beyond creating a unique identifier - we do that ourselves
|
||||
+ here instead rather more quickly. */
|
||||
{
|
||||
static long int sequence = 0;
|
||||
- static char* address = NULL;
|
||||
-
|
||||
- if (! address)
|
||||
- {
|
||||
- g_warning ("Host name lookup failure on localhost.");
|
||||
-
|
||||
- address = g_new (char, 10);
|
||||
- srand (time (NULL) + (getpid () <<16));
|
||||
- g_snprintf (address, 10, "0%.8x", rand());
|
||||
- };
|
||||
|
||||
/* The typecast there is for 64-bit machines */
|
||||
- client->id = g_malloc (43);
|
||||
- g_snprintf (client->id, 43, "1%s%.13ld%.10ld%.4ld", address,
|
||||
- (long) time(NULL), (long) getpid (), sequence);
|
||||
+ client->id = g_strdup_printf ("10%.8x%.13ld%.10ld%.4ld",
|
||||
+ g_str_hash (g_get_host_name()),
|
||||
+ (long) time(NULL), (long) getpid (),
|
||||
+ sequence);
|
||||
sequence++;
|
||||
-
|
||||
sequence %= 10000;
|
||||
}
|
||||
}
|
@ -1,45 +1,29 @@
|
||||
Index: gnome-session/splash-widget.c
|
||||
===================================================================
|
||||
--- gnome-session/splash-widget.c (révision 4682)
|
||||
+++ gnome-session/splash-widget.c (copie de travail)
|
||||
@@ -437,7 +437,7 @@ get_splash_icon (SplashWidget *sw, const
|
||||
|
||||
pb = gtk_icon_theme_load_icon (icon_theme,
|
||||
icon_no_extension,
|
||||
- 48, /* icon size */
|
||||
+ 22, /* icon size */
|
||||
0, NULL);
|
||||
g_free (icon_no_extension);
|
||||
|
||||
@@ -474,7 +474,7 @@ layout_icon (SplashWidget *sw, SplashIco
|
||||
if (!si->scaled) {
|
||||
if (gdk_pixbuf_get_width (si->unscaled) == sw->icon_size &&
|
||||
gdk_pixbuf_get_height (si->unscaled) == sw->icon_size)
|
||||
- si->scaled = g_object_ref (si->unscaled);
|
||||
+ si->scaled = gdk_pixbuf_copy (si->unscaled);
|
||||
else
|
||||
si->scaled = gdk_pixbuf_scale_simple (
|
||||
si->unscaled, sw->icon_size,
|
||||
Index: gnome-session/splash-widget.h
|
||||
===================================================================
|
||||
--- gnome-session/splash-widget.h (révision 4682)
|
||||
+++ gnome-session/splash-widget.h (copie de travail)
|
||||
@@ -66,14 +66,14 @@ void splash_widget_add_icon (SplashWidg
|
||||
#define SPLASH_BASE_HEIGHT 220
|
||||
|
||||
/* offset from bottom of label & font */
|
||||
-#define SPLASH_LABEL_V_OFFSET 3
|
||||
+#define SPLASH_LABEL_V_OFFSET 8
|
||||
#define SPLASH_LABEL_FONT_SIZE 8
|
||||
|
||||
/* icon border, spacing, offset from bottom and initial size */
|
||||
-#define SPLASH_ICON_BORDER 8
|
||||
+#define SPLASH_ICON_BORDER 10
|
||||
--- gnome-session-2.23.4.1-pre/splash/splash-window.c 2008-04-21 17:38:11.000000000 -0500
|
||||
+++ gnome-session-2.23.4.1-work/splash/splash-window.c 2008-07-20 23:07:28.000000000 -0500
|
||||
@@ -40,7 +40,7 @@ G_DEFINE_TYPE (GsmSplashWindow, gsm_spla
|
||||
#define SPLASH_ICON_BORDER 26
|
||||
#define SPLASH_ICON_SPACING 4
|
||||
-#define SPLASH_ICON_V_OFFSET 14
|
||||
#define SPLASH_ICON_V_OFFSET 28
|
||||
-#define SPLASH_BASE_ICON_SIZE 36
|
||||
+#define SPLASH_ICON_V_OFFSET 20
|
||||
+#define SPLASH_BASE_ICON_SIZE 22
|
||||
#define SPLASH_BASE_ICON_ROWS 1
|
||||
|
||||
/* The global API */
|
||||
static gboolean update_trans_effect (gpointer);
|
||||
@@ -330,7 +330,7 @@ layout_icon (GsmSplashWindow *splash, Sp
|
||||
{
|
||||
if (gdk_pixbuf_get_width (si->unscaled) == splash->icon_size &&
|
||||
gdk_pixbuf_get_height (si->unscaled) == splash->icon_size)
|
||||
- si->scaled = g_object_ref (si->unscaled);
|
||||
+ si->scaled = gdk_pixbuf_copy (si->unscaled);
|
||||
else
|
||||
{
|
||||
si->scaled = gdk_pixbuf_scale_simple (si->unscaled, splash->icon_size,
|
||||
@@ -470,7 +470,7 @@ gsm_splash_window_start (GsmSplashWindow
|
||||
return;
|
||||
|
||||
pb = gtk_icon_theme_load_icon (splash->icon_theme, icon_name,
|
||||
- 48, /* icon size */
|
||||
+ 22, /* icon size */
|
||||
0 /* flags */, NULL);
|
||||
if (!pb)
|
||||
return;
|
||||
|
@ -1,38 +0,0 @@
|
||||
Index: gnome-session-2.20.1/gnome-session/splash-widget.c
|
||||
===================================================================
|
||||
--- gnome-session-2.20.1.orig/gnome-session/splash-widget.c
|
||||
+++ gnome-session-2.20.1/gnome-session/splash-widget.c
|
||||
@@ -34,6 +34,10 @@ G_DEFINE_TYPE (SplashWidget,
|
||||
|
||||
static gboolean update_trans_effect (gpointer);
|
||||
|
||||
+static SplashWidget *global_splash = NULL;
|
||||
+
|
||||
+
|
||||
+
|
||||
typedef struct {
|
||||
const char *human_name;
|
||||
const char *exe;
|
||||
@@ -624,7 +628,6 @@ splash_widget_add_icon (SplashWidget *sw
|
||||
}
|
||||
}
|
||||
|
||||
-static SplashWidget *global_splash = NULL;
|
||||
|
||||
static void
|
||||
update_icon_with_effect (SplashIcon *si)
|
||||
@@ -654,6 +657,7 @@ update_icon_with_effect (SplashIcon *si)
|
||||
}
|
||||
}
|
||||
|
||||
+
|
||||
static gboolean
|
||||
update_trans_effect (gpointer splash_icon)
|
||||
{
|
||||
@@ -725,3 +729,6 @@ splash_hide (void)
|
||||
}
|
||||
}
|
||||
|
||||
+
|
||||
+
|
||||
+
|
@ -1,6 +1,6 @@
|
||||
diff -aurp gnome-session-2.22.1.1/gnome-session/gnome-wm gnome-session-2.22.1.1-patched/gnome-session/gnome-wm
|
||||
--- gnome-session-2.22.1.1/gnome-session/gnome-wm 2008-04-10 16:32:20.000000000 +0200
|
||||
+++ gnome-session-2.22.1.1-patched/gnome-session/gnome-wm 2008-05-13 09:15:37.539788000 +0200
|
||||
--- gnome-session-2.22.1.1/data/gnome-wm 2008-04-10 16:32:20.000000000 +0200
|
||||
+++ gnome-session-2.22.1.1-patched/data/gnome-wm 2008-05-13 09:15:37.539788000 +0200
|
||||
@@ -39,22 +39,33 @@ done
|
||||
|
||||
# WINDOW_MANAGER overrides all
|
||||
|
14
gnome-session-ice-auth-for-suid.patch
Normal file
14
gnome-session-ice-auth-for-suid.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff -upr gnome-session-2.23.4.1-pre/gnome-session/xsmp.c gnome-session-2.23.4.1-post/gnome-session/xsmp.c
|
||||
--- gnome-session-2.23.4.1-pre/gnome-session/xsmp.c 2008-06-03 10:38:18.000000000 -0500
|
||||
+++ gnome-session-2.23.4.1-post/gnome-session/xsmp.c 2008-07-20 17:35:00.000000000 -0500
|
||||
@@ -481,6 +481,9 @@ update_iceauthority (gboolean adding)
|
||||
fclose (fp);
|
||||
ok = TRUE;
|
||||
|
||||
+ /* Lets programs auth with the session even if running as another user ID */
|
||||
+ putenv (g_strconcat ("ICEAUTHORITY=", filename, NULL));
|
||||
+
|
||||
cleanup:
|
||||
IceUnlockAuthFile (filename);
|
||||
for (i = 0; i < num_local_xsmp_sockets; i++)
|
||||
Only in gnome-session-2.23.4.1-post/gnome-session: xsmp.c~
|
@ -1,22 +0,0 @@
|
||||
=== modified file 'gnome-session/migrate-trash.c'
|
||||
Index: gnome-session/migrate-trash.c
|
||||
===================================================================
|
||||
--- gnome-session/migrate-trash.c.orig
|
||||
+++ gnome-session/migrate-trash.c
|
||||
@@ -33,6 +33,7 @@
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <string.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gstdio.h>
|
||||
@@ -289,7 +290,7 @@ migrate_trash (void)
|
||||
return 1;
|
||||
}
|
||||
|
||||
- while (file = g_dir_read_name (dir))
|
||||
+ while ((file = g_dir_read_name (dir)))
|
||||
{
|
||||
had_problem = !move_file (old_trash_dir, file, info_dir, files_dir)
|
||||
|| had_problem;
|
362
gnome-session-kdm-support.patch
Normal file
362
gnome-session-kdm-support.patch
Normal file
@ -0,0 +1,362 @@
|
||||
--- gnome-session-2.23.4.1-pre/gnome-session/gdm.c 2008-06-17 08:24:45.000000000 -0500
|
||||
+++ gnome-session-2.23.4.1-work/gnome-session/gdm.c 2008-07-20 18:45:07.000000000 -0500
|
||||
@@ -57,6 +57,8 @@
|
||||
#define GDM_ACTION_STR_REBOOT "REBOOT"
|
||||
#define GDM_ACTION_STR_SUSPEND "SUSPEND"
|
||||
|
||||
+#define KDM_PROTOCOL_MSG_QUERY_ACTION "caps"
|
||||
+
|
||||
typedef struct {
|
||||
int fd;
|
||||
char *auth_cookie;
|
||||
@@ -65,6 +67,8 @@ typedef struct {
|
||||
GdmLogoutAction current_actions;
|
||||
|
||||
time_t last_update;
|
||||
+
|
||||
+ guint is_kdm : 1;
|
||||
} GdmProtocolData;
|
||||
|
||||
static GdmProtocolData gdm_protocol_data = {
|
||||
@@ -72,12 +76,13 @@ static GdmProtocolData gdm_protocol_data
|
||||
NULL,
|
||||
GDM_LOGOUT_ACTION_NONE,
|
||||
GDM_LOGOUT_ACTION_NONE,
|
||||
- 0
|
||||
+ 0,
|
||||
+ FALSE
|
||||
};
|
||||
|
||||
static char *
|
||||
-gdm_send_protocol_msg (GdmProtocolData *data,
|
||||
- const char *msg)
|
||||
+dm_send_protocol_msg (GdmProtocolData *data,
|
||||
+ const char *msg)
|
||||
{
|
||||
GString *retval;
|
||||
char buf[256];
|
||||
@@ -90,7 +95,7 @@ gdm_send_protocol_msg (GdmProtocolData *
|
||||
{
|
||||
g_free (p);
|
||||
|
||||
- g_warning ("Failed to send message to GDM: %s",
|
||||
+ g_warning ("Failed to send message to display manager: %s",
|
||||
g_strerror (errno));
|
||||
|
||||
return NULL;
|
||||
@@ -163,7 +168,7 @@ gdm_authenticate_connection (GdmProtocol
|
||||
|
||||
msg = g_strdup_printf (GDM_PROTOCOL_MSG_AUTHENTICATE " %s",
|
||||
data->auth_cookie);
|
||||
- response = gdm_send_protocol_msg (data, msg);
|
||||
+ response = dm_send_protocol_msg (data, msg);
|
||||
g_free (msg);
|
||||
|
||||
if (response && !strcmp (response, "OK"))
|
||||
@@ -210,7 +215,7 @@ gdm_authenticate_connection (GdmProtocol
|
||||
XauDisposeAuth (xau);
|
||||
|
||||
msg = g_strdup_printf (GDM_PROTOCOL_MSG_AUTHENTICATE " %s", buffer);
|
||||
- response = gdm_send_protocol_msg (data, msg);
|
||||
+ response = dm_send_protocol_msg (data, msg);
|
||||
g_free (msg);
|
||||
|
||||
if (response && !strcmp (response, "OK"))
|
||||
@@ -234,7 +239,7 @@ gdm_authenticate_connection (GdmProtocol
|
||||
}
|
||||
|
||||
static void
|
||||
-gdm_shutdown_protocol_connection (GdmProtocolData *data)
|
||||
+dm_shutdown_protocol_connection (GdmProtocolData *data)
|
||||
{
|
||||
if (data->fd)
|
||||
close (data->fd);
|
||||
@@ -264,7 +269,7 @@ gdm_init_protocol_connection (GdmProtoco
|
||||
g_warning ("Failed to create GDM socket: %s",
|
||||
g_strerror (errno));
|
||||
|
||||
- gdm_shutdown_protocol_connection (data);
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -276,19 +281,19 @@ gdm_init_protocol_connection (GdmProtoco
|
||||
g_warning ("Failed to establish a connection with GDM: %s",
|
||||
g_strerror (errno));
|
||||
|
||||
- gdm_shutdown_protocol_connection (data);
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
- response = gdm_send_protocol_msg (data, GDM_PROTOCOL_MSG_VERSION);
|
||||
+ response = dm_send_protocol_msg (data, GDM_PROTOCOL_MSG_VERSION);
|
||||
|
||||
if (!response || strncmp (response, "GDM ", strlen ("GDM ") != 0))
|
||||
{
|
||||
g_free (response);
|
||||
|
||||
g_warning ("Failed to get protocol version from GDM");
|
||||
- gdm_shutdown_protocol_connection (data);
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -298,13 +303,76 @@ gdm_init_protocol_connection (GdmProtoco
|
||||
if (!gdm_authenticate_connection (data))
|
||||
{
|
||||
g_warning ("Failed to authenticate with GDM");
|
||||
- gdm_shutdown_protocol_connection (data);
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+static gboolean
|
||||
+kdm_init_protocol_connection (GdmProtocolData *data)
|
||||
+{
|
||||
+ struct sockaddr_un addr;
|
||||
+ char *dm_display;
|
||||
+ char *dm_control;
|
||||
+ char *p0 = NULL;
|
||||
+
|
||||
+ g_assert (data->fd <= 0);
|
||||
+
|
||||
+ data->fd = socket (AF_UNIX, SOCK_STREAM, 0);
|
||||
+ if (data->fd < 0) {
|
||||
+ g_warning ("Failed to create KDM socket: %s",
|
||||
+ g_strerror (errno));
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ dm_display = g_strdup (g_getenv ("DISPLAY"));
|
||||
+ dm_control = g_strdup (g_getenv ("DM_CONTROL"));
|
||||
+
|
||||
+ if (dm_display && (p0 = strchr (dm_display, ':')))
|
||||
+ p0 = strchr (p0, '.');
|
||||
+
|
||||
+ if (!dm_control || !strlen (dm_control) ||
|
||||
+ !dm_display || !strlen (dm_display)) {
|
||||
+ g_free (dm_control);
|
||||
+ g_free (dm_display);
|
||||
+
|
||||
+ g_warning ("Could not locate KDM socket.");
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ snprintf (addr.sun_path, sizeof (addr.sun_path), "%s/dmctl-%.*s/socket",
|
||||
+ dm_control, p0 ? p0 - dm_display : 512, dm_display);
|
||||
+ addr.sun_family = AF_UNIX;
|
||||
+
|
||||
+ g_free (dm_display);
|
||||
+ g_free (dm_control);
|
||||
+
|
||||
+ if (connect (data->fd, (struct sockaddr *) &addr, sizeof (addr)) < 0) {
|
||||
+ g_warning ("Failed to establish a connection with KDM: %s",
|
||||
+ g_strerror (errno));
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
+dm_init_protocol_connection (GdmProtocolData *data)
|
||||
+{
|
||||
+ if (g_getenv ("DM_CONTROL") && !g_getenv ("GDMSESSION")) {
|
||||
+ data->is_kdm = TRUE;
|
||||
+ return kdm_init_protocol_connection (data);
|
||||
+ }
|
||||
+
|
||||
+ data->is_kdm = FALSE;
|
||||
+ return gdm_init_protocol_connection (data);
|
||||
+}
|
||||
+
|
||||
static void
|
||||
gdm_parse_query_response (GdmProtocolData *data,
|
||||
const char *response)
|
||||
@@ -357,7 +425,21 @@ gdm_parse_query_response (GdmProtocolDat
|
||||
}
|
||||
|
||||
static void
|
||||
-gdm_update_logout_actions (GdmProtocolData *data)
|
||||
+kdm_parse_query_response (GdmProtocolData *data,
|
||||
+ const char *response)
|
||||
+{
|
||||
+ data->available_actions = GDM_LOGOUT_ACTION_NONE;
|
||||
+ data->current_actions = GDM_LOGOUT_ACTION_NONE;
|
||||
+
|
||||
+ if (!response)
|
||||
+ return;
|
||||
+
|
||||
+ if (strstr (response, "\tshutdown"))
|
||||
+ data->available_actions |= GDM_LOGOUT_ACTION_SHUTDOWN | GDM_LOGOUT_ACTION_REBOOT;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+dm_update_logout_actions (GdmProtocolData *data)
|
||||
{
|
||||
time_t current_time;
|
||||
char *response;
|
||||
@@ -369,25 +451,39 @@ gdm_update_logout_actions (GdmProtocolDa
|
||||
|
||||
data->last_update = current_time;
|
||||
|
||||
- if (!gdm_init_protocol_connection (data))
|
||||
+ if (!dm_init_protocol_connection (data))
|
||||
return;
|
||||
-
|
||||
- if ((response = gdm_send_protocol_msg (data, GDM_PROTOCOL_MSG_QUERY_ACTION)))
|
||||
+
|
||||
+ if (data->is_kdm) {
|
||||
+ /* KDM */
|
||||
+ if ((response = dm_send_protocol_msg (data, KDM_PROTOCOL_MSG_QUERY_ACTION))) {
|
||||
+ kdm_parse_query_response (data, response);
|
||||
+ g_free (response);
|
||||
+ }
|
||||
+ } else {
|
||||
+ /* GDM */
|
||||
+ if ((response = dm_send_protocol_msg (data, GDM_PROTOCOL_MSG_QUERY_ACTION))) {
|
||||
+ gdm_parse_query_response (data, response);
|
||||
+ g_free (response);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if ((response = dm_send_protocol_msg (data, GDM_PROTOCOL_MSG_QUERY_ACTION)))
|
||||
{
|
||||
gdm_parse_query_response (data, response);
|
||||
g_free (response);
|
||||
}
|
||||
|
||||
- gdm_shutdown_protocol_connection (data);
|
||||
+ dm_shutdown_protocol_connection (data);
|
||||
}
|
||||
|
||||
gboolean
|
||||
gdm_is_available (void)
|
||||
{
|
||||
- if (!gdm_init_protocol_connection (&gdm_protocol_data))
|
||||
+ if (!dm_init_protocol_connection (&gdm_protocol_data))
|
||||
return FALSE;
|
||||
|
||||
- gdm_shutdown_protocol_connection (&gdm_protocol_data);
|
||||
+ dm_shutdown_protocol_connection (&gdm_protocol_data);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -395,7 +491,7 @@ gdm_is_available (void)
|
||||
gboolean
|
||||
gdm_supports_logout_action (GdmLogoutAction action)
|
||||
{
|
||||
- gdm_update_logout_actions (&gdm_protocol_data);
|
||||
+ dm_update_logout_actions (&gdm_protocol_data);
|
||||
|
||||
return (gdm_protocol_data.available_actions & action) != 0;
|
||||
}
|
||||
@@ -403,21 +499,16 @@ gdm_supports_logout_action (GdmLogoutAct
|
||||
GdmLogoutAction
|
||||
gdm_get_logout_action (void)
|
||||
{
|
||||
- gdm_update_logout_actions (&gdm_protocol_data);
|
||||
+ dm_update_logout_actions (&gdm_protocol_data);
|
||||
|
||||
return gdm_protocol_data.current_actions;
|
||||
}
|
||||
|
||||
-void
|
||||
-gdm_set_logout_action (GdmLogoutAction action)
|
||||
+static char *
|
||||
+gdm_logout_action_msg (GdmLogoutAction action)
|
||||
{
|
||||
char *action_str = NULL;
|
||||
- char *msg;
|
||||
- char *response;
|
||||
-
|
||||
- if (!gdm_init_protocol_connection (&gdm_protocol_data))
|
||||
- return;
|
||||
-
|
||||
+
|
||||
switch (action)
|
||||
{
|
||||
case GDM_LOGOUT_ACTION_NONE:
|
||||
@@ -433,17 +524,50 @@ gdm_set_logout_action (GdmLogoutAction a
|
||||
action_str = GDM_ACTION_STR_SUSPEND;
|
||||
break;
|
||||
}
|
||||
+
|
||||
+ return g_strdup_printf (GDM_PROTOCOL_MSG_SET_ACTION " %s", action_str);
|
||||
+}
|
||||
+
|
||||
+static char *
|
||||
+kdm_logout_action_msg (GdmLogoutAction action)
|
||||
+{
|
||||
+ char *msg = NULL;
|
||||
+
|
||||
+ if (action == GDM_LOGOUT_ACTION_SHUTDOWN)
|
||||
+ msg = g_strdup ("shutdown\thalt\task");
|
||||
+ else if (action == GDM_LOGOUT_ACTION_REBOOT)
|
||||
+ msg = g_strdup ("shutdown\treboot\task");
|
||||
+
|
||||
+ return msg;
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+gdm_set_logout_action (GdmLogoutAction action)
|
||||
+{
|
||||
+ char *msg;
|
||||
+ char *response;
|
||||
|
||||
- msg = g_strdup_printf (GDM_PROTOCOL_MSG_SET_ACTION " %s", action_str);
|
||||
-
|
||||
- response = gdm_send_protocol_msg (&gdm_protocol_data, msg);
|
||||
+ if (!dm_init_protocol_connection (&gdm_protocol_data))
|
||||
+ return;
|
||||
+
|
||||
+ if (gdm_protocol_data.is_kdm)
|
||||
+ msg = kdm_logout_action_msg (action);
|
||||
+ else
|
||||
+ msg = gdm_logout_action_msg (action);
|
||||
+
|
||||
+ if (!msg) {
|
||||
+ dm_shutdown_protocol_connection (&gdm_protocol_data);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ response = dm_send_protocol_msg (&gdm_protocol_data, msg);
|
||||
|
||||
g_free (msg);
|
||||
g_free (response);
|
||||
|
||||
gdm_protocol_data.last_update = 0;
|
||||
|
||||
- gdm_shutdown_protocol_connection (&gdm_protocol_data);
|
||||
+ dm_shutdown_protocol_connection (&gdm_protocol_data);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -451,15 +575,15 @@ gdm_new_login (void)
|
||||
{
|
||||
char *response;
|
||||
|
||||
- if (!gdm_init_protocol_connection (&gdm_protocol_data))
|
||||
+ if (!dm_init_protocol_connection (&gdm_protocol_data))
|
||||
return;
|
||||
|
||||
- response = gdm_send_protocol_msg (&gdm_protocol_data,
|
||||
- GDM_PROTOCOL_MSG_FLEXI_XSERVER);
|
||||
+ response = dm_send_protocol_msg (&gdm_protocol_data,
|
||||
+ GDM_PROTOCOL_MSG_FLEXI_XSERVER);
|
||||
|
||||
g_free (response);
|
||||
|
||||
gdm_protocol_data.last_update = 0;
|
||||
|
||||
- gdm_shutdown_protocol_connection (&gdm_protocol_data);
|
||||
+ dm_shutdown_protocol_connection (&gdm_protocol_data);
|
||||
}
|
@ -1,251 +0,0 @@
|
||||
Index: gnome-session/gsm-motd.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gnome-session/gsm-motd.h
|
||||
@@ -0,0 +1,7 @@
|
||||
+#ifndef GSM_MOTD_H
|
||||
+#define GSM_MOTD_H
|
||||
+
|
||||
+void gsm_motd_start (void);
|
||||
+void gsm_motd_stop (void);
|
||||
+
|
||||
+#endif
|
||||
Index: gnome-session/gsm-motd.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gnome-session/gsm-motd.c
|
||||
@@ -0,0 +1,179 @@
|
||||
+/* gdm-motd.c - Message of the Day support in gnome-session.
|
||||
+
|
||||
+ Copyright (C) 1998, 1999 Tom Tromey
|
||||
+
|
||||
+ 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. */
|
||||
+
|
||||
+#include <config.h>
|
||||
+#include <glib/gi18n.h>
|
||||
+#include <gconf/gconf-client.h>
|
||||
+#include <gtk/gtkmessagedialog.h>
|
||||
+#include <libgnomevfs/gnome-vfs-ops.h>
|
||||
+#ifdef HAVE_LIBNOTIFY
|
||||
+#include <libnotify/notify.h>
|
||||
+#endif
|
||||
+#include "gsm-motd.h"
|
||||
+
|
||||
+static gchar *motd_contents = NULL;
|
||||
+static GnomeVFSMonitorHandle *monitor_handle = NULL;
|
||||
+
|
||||
+static void
|
||||
+display_message_of_the_day_dialog (void)
|
||||
+{
|
||||
+ GtkWidget *dialog;
|
||||
+
|
||||
+ if (motd_contents)
|
||||
+ {
|
||||
+ dialog = gtk_message_dialog_new_with_markup (NULL, 0, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE,
|
||||
+ "<big><b>%s</b></big>\n%s",
|
||||
+ _("Message of the Day"), motd_contents);
|
||||
+ g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (gtk_widget_destroy), NULL);
|
||||
+ gtk_widget_show (dialog);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+#ifdef HAVE_LIBNOTIFY
|
||||
+static void
|
||||
+display_message_of_the_day_notification (void)
|
||||
+{
|
||||
+ NotifyNotification *n;
|
||||
+ GdkPixbuf *icon;
|
||||
+
|
||||
+ if (!motd_contents)
|
||||
+ return;
|
||||
+
|
||||
+ if (!notify_is_initted () && !notify_init (_("Session Manager")))
|
||||
+ {
|
||||
+ g_printerr ("Could not contact the notification daemon");
|
||||
+ display_message_of_the_day_dialog ();
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ icon = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
|
||||
+ "gtk-info",
|
||||
+ 48,
|
||||
+ GTK_ICON_LOOKUP_USE_BUILTIN,
|
||||
+ NULL);
|
||||
+
|
||||
+ n = notify_notification_new (_("Message of the Day"), motd_contents, NULL, NULL);
|
||||
+ notify_notification_set_icon_from_pixbuf (n, icon);
|
||||
+ gdk_pixbuf_unref (icon);
|
||||
+
|
||||
+ if (!notify_notification_show (n, NULL))
|
||||
+ {
|
||||
+ display_message_of_the_day_dialog ();
|
||||
+ }
|
||||
+
|
||||
+ //g_object_unref (n);
|
||||
+ }
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+static void
|
||||
+motd_changed_cb (GnomeVFSMonitorHandle *handle,
|
||||
+ const gchar *monitor_uri,
|
||||
+ const gchar *info_uri,
|
||||
+ GnomeVFSMonitorEventType event_type,
|
||||
+ gpointer user_data)
|
||||
+{
|
||||
+ gchar *contents;
|
||||
+ gsize length;
|
||||
+
|
||||
+ switch (event_type)
|
||||
+ {
|
||||
+ case GNOME_VFS_MONITOR_EVENT_CHANGED :
|
||||
+ case GNOME_VFS_MONITOR_EVENT_CREATED :
|
||||
+ if (g_file_get_contents ("/etc/motd", &contents, &length, NULL))
|
||||
+ {
|
||||
+ if (length > 0)
|
||||
+ {
|
||||
+ g_free (motd_contents);
|
||||
+ motd_contents = contents;
|
||||
+
|
||||
+#ifdef HAVE_LIBNOTIFY
|
||||
+ display_message_of_the_day_notification ();
|
||||
+#else
|
||||
+ display_message_of_the_day_dialog ();
|
||||
+#endif
|
||||
+ }
|
||||
+ }
|
||||
+ break;
|
||||
+ case GNOME_VFS_MONITOR_EVENT_DELETED :
|
||||
+ g_free (motd_contents);
|
||||
+ motd_contents = NULL;
|
||||
+ break;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
+on_login_cb (gpointer user_data)
|
||||
+{
|
||||
+#ifdef HAVE_LIBNOTIFY
|
||||
+ display_message_of_the_day_notification ();
|
||||
+#else
|
||||
+ display_message_of_the_day_dialog ();
|
||||
+#endif
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+gsm_motd_start (void)
|
||||
+{
|
||||
+ gchar *contents;
|
||||
+ gsize length;
|
||||
+ GConfClient *client;
|
||||
+ gboolean enabled;
|
||||
+
|
||||
+ client = gconf_client_get_default ();
|
||||
+ enabled = gconf_client_get_bool (client, "/apps/gnome-session/options/enable_motd", NULL);
|
||||
+ g_object_unref (client);
|
||||
+
|
||||
+ if (!enabled)
|
||||
+ return;
|
||||
+
|
||||
+ /* load the MOTD file */
|
||||
+ if (gnome_vfs_monitor_add (&monitor_handle, "file:///etc/motd", GNOME_VFS_MONITOR_FILE,
|
||||
+ (GnomeVFSMonitorCallback) motd_changed_cb, NULL) != GNOME_VFS_OK)
|
||||
+ {
|
||||
+ g_printerr ("Failed to setup monitor for /etc/motd file");
|
||||
+ }
|
||||
+
|
||||
+ if (g_file_get_contents ("/etc/motd", &contents, &length, NULL))
|
||||
+ {
|
||||
+ if (length > 0)
|
||||
+ motd_contents = contents;
|
||||
+ }
|
||||
+
|
||||
+ /* install a timeout to show the message first time */
|
||||
+ g_timeout_add (8000, (GSourceFunc) on_login_cb, NULL);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+gsm_motd_stop (void)
|
||||
+{
|
||||
+ if (monitor_handle)
|
||||
+ {
|
||||
+ gnome_vfs_monitor_cancel (monitor_handle);
|
||||
+ monitor_handle = NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (motd_contents)
|
||||
+ {
|
||||
+ g_free (motd_contents);
|
||||
+ motd_contents = NULL;
|
||||
+ }
|
||||
+}
|
||||
Index: gnome-session/Makefile.am
|
||||
===================================================================
|
||||
--- gnome-session/Makefile.am.orig
|
||||
+++ gnome-session/Makefile.am
|
||||
@@ -4,6 +4,7 @@ defaultdir = $(datadir)/gnome
|
||||
|
||||
INCLUDES = \
|
||||
$(GNOME_SESSION_CFLAGS) \
|
||||
+ $(LIBNOTIFY_CFLAGS) \
|
||||
$(STANDARD_PROPERTIES_CFLAGS) \
|
||||
$(WARN_CFLAGS) \
|
||||
$(DISABLE_DEPRECATED_CFLAGS) \
|
||||
@@ -25,7 +26,7 @@ STANDARD_PROPERTIES_CFLAGS =
|
||||
-DDATADIR=\""$(datadir)"\" \
|
||||
$(NULL)
|
||||
|
||||
-gnome_session_LDADD = $(X_LIBS) $(GNOME_SESSION_LIBS) $(LIBWRAP_LIBS)
|
||||
+gnome_session_LDADD = $(X_LIBS) $(GNOME_SESSION_LIBS) $(LIBWRAP_LIBS) $(LIBNOTIFY_LIBS)
|
||||
gnome_session_save_LDADD = $(GNOME_SESSION_LIBS)
|
||||
gnome_session_remove_LDADD = $(GNOME_SESSION_LIBS)
|
||||
gnome_session_properties_LDADD = $(GNOME_SESSION_LIBS)
|
||||
@@ -83,6 +84,8 @@ gnome_session_SOURCES = \
|
||||
gsm-keyring.h \
|
||||
gsm-gsd.c \
|
||||
gsm-gsd.h \
|
||||
+ gsm-motd.c \
|
||||
+ gsm-motd.h \
|
||||
gsm-protocol.c \
|
||||
gsm-protocol.h \
|
||||
gsm-remote-desktop.c \
|
||||
Index: gnome-session/main.c
|
||||
===================================================================
|
||||
--- gnome-session/main.c.orig
|
||||
+++ gnome-session/main.c
|
||||
@@ -53,6 +53,7 @@
|
||||
#include "gsm-keyring.h"
|
||||
#include "gsm-at-startup.h"
|
||||
#include "gsm-remote-desktop.h"
|
||||
+#include "gsm-motd.h"
|
||||
#include "migrate-trash.h"
|
||||
|
||||
/* Flag indicating autosave - user won't be prompted on logout to
|
||||
@@ -668,8 +669,12 @@ main (int argc, char *argv[])
|
||||
|
||||
migrate_trash();
|
||||
|
||||
+ gsm_motd_start ();
|
||||
+
|
||||
gtk_main ();
|
||||
|
||||
+ gsm_motd_stop ();
|
||||
+
|
||||
gsm_remote_desktop_cleanup ();
|
||||
|
||||
gsm_sound_logout ();
|
@ -1,13 +0,0 @@
|
||||
--- gnome-session/main.c
|
||||
+++ gnome-session/main.c
|
||||
@@ -483,8 +483,8 @@
|
||||
major = atoi (versions [1]);
|
||||
if ((major % 2) != 0)
|
||||
{
|
||||
- g_setenv ("G_DEBUG", "fatal_criticals", FALSE);
|
||||
- g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL);
|
||||
+/* g_setenv ("G_DEBUG", "fatal_criticals", FALSE);
|
||||
+ g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL); */
|
||||
}
|
||||
}
|
||||
g_strfreev (versions);
|
@ -1,70 +0,0 @@
|
||||
Index: gnome-session/gsm-autostart.c
|
||||
===================================================================
|
||||
--- gnome-session/gsm-autostart.c (revision 4626)
|
||||
+++ gnome-session/gsm-autostart.c (working copy)
|
||||
@@ -260,3 +260,25 @@
|
||||
|
||||
return list;
|
||||
}
|
||||
+
|
||||
+gchar *
|
||||
+gsm_autostart_parse_command_line (GKeyFile *keyfile)
|
||||
+{
|
||||
+ gchar *p, *result;
|
||||
+ GString *gs;
|
||||
+ gchar *exec = gsm_key_file_get_string (keyfile, "Exec");
|
||||
+
|
||||
+ gs = g_string_new (NULL);
|
||||
+ for (p = exec; *p != '\0'; p++)
|
||||
+ {
|
||||
+ if (*p == '%' && (p[1] == 'u' || p[1] == 'U'))
|
||||
+ p++;
|
||||
+ else
|
||||
+ g_string_append_c (gs, *p);
|
||||
+ }
|
||||
+
|
||||
+ result = gs->str;
|
||||
+ g_string_free (gs, FALSE);
|
||||
+
|
||||
+ return result;
|
||||
+}
|
||||
Index: gnome-session/gsm-autostart.h
|
||||
===================================================================
|
||||
--- gnome-session/gsm-autostart.h (revision 4626)
|
||||
+++ gnome-session/gsm-autostart.h (working copy)
|
||||
@@ -43,6 +43,9 @@
|
||||
GsmAutostartFreeFunc free_handler,
|
||||
gboolean enabled_only);
|
||||
|
||||
+gchar *
|
||||
+gsm_autostart_parse_command_line (GKeyFile *keyfile);
|
||||
+
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* GSM_AUTOSTART_H */
|
||||
Index: gnome-session/startup-programs.c
|
||||
===================================================================
|
||||
--- gnome-session/startup-programs.c (revision 4626)
|
||||
+++ gnome-session/startup-programs.c (working copy)
|
||||
@@ -117,7 +117,7 @@
|
||||
if (client->name == NULL)
|
||||
client->name = gsm_key_file_get_locale_string (keyfile, "GenericName");
|
||||
|
||||
- client->command = gsm_key_file_get_string (keyfile, "Exec");
|
||||
+ client->command = gsm_autostart_parse_command_line (keyfile);
|
||||
client->comment = gsm_key_file_get_locale_string (keyfile, "Comment");
|
||||
client->enabled = gsm_key_file_get_boolean (keyfile,
|
||||
"X-GNOME-Autostart-enabled",
|
||||
Index: gnome-session/save.c
|
||||
===================================================================
|
||||
--- gnome-session/save.c (revision 4626)
|
||||
+++ gnome-session/save.c (working copy)
|
||||
@@ -373,7 +373,7 @@
|
||||
Client *client;
|
||||
SmProp *prop;
|
||||
|
||||
- exec = gsm_key_file_get_string (keyfile, "Exec");
|
||||
+ exec = gsm_autostart_parse_command_line (keyfile);
|
||||
if (!g_shell_parse_argv (exec, &argc, &argv, NULL))
|
||||
{
|
||||
g_free (exec);
|
@ -1,141 +0,0 @@
|
||||
Index: gnome-session/main.c
|
||||
===================================================================
|
||||
--- gnome-session/main.c.orig
|
||||
+++ gnome-session/main.c
|
||||
@@ -452,126 +452,6 @@ update_boolean (GConfClient *client,
|
||||
*bool_value ? "On" : "Off");
|
||||
}
|
||||
|
||||
-/* returns the hostname */
|
||||
-static gchar *
|
||||
-get_hostname (gboolean readable)
|
||||
-{
|
||||
- static gboolean init = FALSE;
|
||||
- static gchar *result = NULL;
|
||||
-
|
||||
- if (!init)
|
||||
- {
|
||||
- char hostname[256];
|
||||
-
|
||||
- if (gethostname (hostname, sizeof (hostname)) == 0)
|
||||
- result = g_strdup (hostname);
|
||||
-
|
||||
- init = TRUE;
|
||||
- }
|
||||
-
|
||||
- if (result)
|
||||
- return result;
|
||||
- else
|
||||
- return readable ? "(Unknown)" : NULL;
|
||||
-}
|
||||
-
|
||||
-#ifdef ENABLE_IPV6
|
||||
-/*Check whether the node is IPv6 enabled.*/
|
||||
-static gboolean
|
||||
-have_ipv6 (void)
|
||||
-{
|
||||
- int s;
|
||||
-
|
||||
- s = socket (AF_INET6, SOCK_STREAM, 0);
|
||||
- if (s != -1) {
|
||||
- close (s);
|
||||
- return TRUE;
|
||||
- }
|
||||
- return FALSE;
|
||||
-}
|
||||
-#endif
|
||||
-
|
||||
-/* Check if a DNS lookup on `hostname` can be done */
|
||||
-static gboolean
|
||||
-check_for_dns (void)
|
||||
-{
|
||||
- char *hostname;
|
||||
-
|
||||
- hostname = get_hostname (FALSE);
|
||||
-
|
||||
- if (!hostname)
|
||||
- return FALSE;
|
||||
-
|
||||
-#ifdef ENABLE_IPV6
|
||||
- if (have_ipv6 ())
|
||||
- {
|
||||
- struct addrinfo hints, *result = NULL;
|
||||
-
|
||||
- memset (&hints, 0, sizeof(hints));
|
||||
- hints.ai_socktype = SOCK_STREAM;
|
||||
- hints.ai_flags = AI_CANONNAME;
|
||||
-
|
||||
- if (getaddrinfo (hostname, NULL, &hints, &result) != 0)
|
||||
- return FALSE;
|
||||
-
|
||||
- if (!result->ai_canonname)
|
||||
- return FALSE;
|
||||
- }
|
||||
- else
|
||||
-#endif
|
||||
- {
|
||||
- /*
|
||||
- * FIXME:
|
||||
- * we should probably be a lot more robust here
|
||||
- */
|
||||
- if (!gethostbyname (hostname))
|
||||
- return FALSE;
|
||||
- }
|
||||
-
|
||||
- return TRUE;
|
||||
-}
|
||||
-
|
||||
-enum {
|
||||
- RESPONSE_LOG_IN,
|
||||
- RESPONSE_TRY_AGAIN
|
||||
-};
|
||||
-
|
||||
-static void
|
||||
-gnome_login_check (void)
|
||||
-{
|
||||
- GtkWidget *tmp_msgbox = NULL;
|
||||
-
|
||||
- while (!check_for_dns ())
|
||||
- {
|
||||
- if (!tmp_msgbox)
|
||||
- {
|
||||
- tmp_msgbox = gtk_message_dialog_new (NULL, 0,
|
||||
- GTK_MESSAGE_WARNING,
|
||||
- GTK_BUTTONS_NONE,
|
||||
- _("Could not look up internet address for %s.\n"
|
||||
- "This will prevent GNOME from operating correctly.\n"
|
||||
- "It may be possible to correct the problem by adding\n"
|
||||
- "%s to the file /etc/hosts."),
|
||||
- get_hostname(TRUE), get_hostname(TRUE));
|
||||
-
|
||||
- gtk_dialog_add_buttons (GTK_DIALOG (tmp_msgbox),
|
||||
- _("Log in Anyway"), RESPONSE_LOG_IN,
|
||||
- _("Try Again"), RESPONSE_TRY_AGAIN,
|
||||
- NULL);
|
||||
-
|
||||
- gtk_window_set_position (GTK_WINDOW (tmp_msgbox), GTK_WIN_POS_CENTER);
|
||||
- }
|
||||
-
|
||||
- gtk_dialog_set_default_response (GTK_DIALOG (tmp_msgbox), RESPONSE_TRY_AGAIN);
|
||||
-
|
||||
- if (RESPONSE_TRY_AGAIN != gtk_dialog_run (GTK_DIALOG (tmp_msgbox)))
|
||||
- break;
|
||||
- }
|
||||
-
|
||||
- if (tmp_msgbox)
|
||||
- gtk_widget_destroy (tmp_msgbox);
|
||||
-}
|
||||
-
|
||||
static void
|
||||
gsm_shutdown_gconfd (void)
|
||||
{
|
||||
@@ -651,9 +531,6 @@ main (int argc, char *argv[])
|
||||
if (gsm_check_for_root ())
|
||||
return 0;
|
||||
|
||||
- if (ORBit_proto_use ("IPv4") || ORBit_proto_use ("IPv6"))
|
||||
- gnome_login_check ();
|
||||
-
|
||||
err = NULL;
|
||||
g_spawn_command_line_sync (GCONF_SANITY_CHECK, NULL, NULL, &status, &err);
|
||||
if (err != NULL)
|
@ -1,111 +0,0 @@
|
||||
Index: gnome-session/logout.c
|
||||
===================================================================
|
||||
RCS file: /cvs/gnome/gnome-session/gnome-session/logout.c,v
|
||||
retrieving revision 1.60
|
||||
diff -u -p -r1.60 logout.c
|
||||
--- gnome-session/logout.c 26 Apr 2005 10:56:50 -0000 1.60
|
||||
+++ gnome-session/logout.c 9 Feb 2006 12:16:45 -0000
|
||||
@@ -43,14 +43,16 @@ enum
|
||||
{
|
||||
OPTION_LOGOUT,
|
||||
OPTION_HALT,
|
||||
- OPTION_REBOOT
|
||||
+ OPTION_REBOOT,
|
||||
+ OPTION_SUSPEND
|
||||
};
|
||||
|
||||
static GConfEnumStringPair logout_options_lookup_table[] =
|
||||
{
|
||||
- { OPTION_LOGOUT, "logout" },
|
||||
- { OPTION_HALT, "shutdown" },
|
||||
- { OPTION_REBOOT, "restart" },
|
||||
+ { OPTION_LOGOUT, "logout" },
|
||||
+ { OPTION_HALT, "shutdown" },
|
||||
+ { OPTION_REBOOT, "restart" },
|
||||
+ { OPTION_SUSPEND, "suspend" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
@@ -329,13 +331,16 @@ display_gui (void)
|
||||
gint response;
|
||||
GtkWidget *halt = NULL;
|
||||
GtkWidget *reboot = NULL;
|
||||
+ GtkWidget *suspend = NULL;
|
||||
GtkWidget *invisible;
|
||||
gboolean halt_supported = FALSE;
|
||||
gboolean reboot_supported = FALSE;
|
||||
+ gboolean suspend_supported = FALSE;
|
||||
gboolean retval = FALSE;
|
||||
gboolean save_active = FALSE;
|
||||
gboolean halt_active = FALSE;
|
||||
gboolean reboot_active = FALSE;
|
||||
+ gboolean suspend_active = FALSE;
|
||||
GdmLogoutAction logout_action = GDM_LOGOUT_ACTION_NONE;
|
||||
gboolean a11y_enabled;
|
||||
GError *error = NULL;
|
||||
@@ -431,8 +436,9 @@ display_gui (void)
|
||||
|
||||
halt_supported = gdm_supports_logout_action (GDM_LOGOUT_ACTION_SHUTDOWN);
|
||||
reboot_supported = gdm_supports_logout_action (GDM_LOGOUT_ACTION_REBOOT);
|
||||
+ suspend_supported = gdm_supports_logout_action (GDM_LOGOUT_ACTION_SUSPEND);
|
||||
|
||||
- if (halt_supported || reboot_supported)
|
||||
+ if (halt_supported || reboot_supported || suspend_supported)
|
||||
{
|
||||
GtkWidget *title, *spacer;
|
||||
GtkWidget *action_vbox, *hbox;
|
||||
@@ -482,6 +488,13 @@ display_gui (void)
|
||||
gtk_box_pack_start (GTK_BOX (action_vbox), r, FALSE, FALSE, 0);
|
||||
gtk_widget_show (r);
|
||||
}
|
||||
+ if (suspend_supported)
|
||||
+ {
|
||||
+ r = suspend = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON (r), _("_Suspend the computer"));
|
||||
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (r), (selected_option == OPTION_SUSPEND));
|
||||
+ gtk_box_pack_start (GTK_BOX (action_vbox), r, FALSE, FALSE, 0);
|
||||
+ gtk_widget_show (r);
|
||||
+ }
|
||||
}
|
||||
|
||||
gsm_center_window_on_screen (GTK_WINDOW (box), screen, monitor);
|
||||
@@ -517,6 +530,9 @@ display_gui (void)
|
||||
if (reboot)
|
||||
reboot_active = GTK_TOGGLE_BUTTON (reboot)->active;
|
||||
|
||||
+ if (suspend)
|
||||
+ suspend_active = GTK_TOGGLE_BUTTON (suspend)->active;
|
||||
+
|
||||
if (toggle_button)
|
||||
save_active = GTK_TOGGLE_BUTTON (toggle_button)->active;
|
||||
|
||||
@@ -524,6 +540,8 @@ display_gui (void)
|
||||
selected_option = OPTION_REBOOT;
|
||||
else if (halt_active)
|
||||
selected_option = OPTION_HALT;
|
||||
+ else if (suspend_active)
|
||||
+ selected_option = OPTION_SUSPEND;
|
||||
else
|
||||
selected_option = OPTION_LOGOUT;
|
||||
|
||||
@@ -545,14 +563,20 @@ display_gui (void)
|
||||
case GTK_RESPONSE_OK:
|
||||
/* We want to know if we should trash changes (and lose forever)
|
||||
* or save them */
|
||||
+ retval = TRUE;
|
||||
if(save_active)
|
||||
save_selected = save_active;
|
||||
if (halt_active)
|
||||
logout_action = GDM_LOGOUT_ACTION_SHUTDOWN;
|
||||
else if (reboot_active)
|
||||
logout_action = GDM_LOGOUT_ACTION_REBOOT;
|
||||
+ else if (suspend_active)
|
||||
+ {
|
||||
+ logout_action = GDM_LOGOUT_ACTION_SUSPEND;
|
||||
+ g_spawn_command_line_async ("powersave --suspend-to-disk", NULL);
|
||||
+ retval = FALSE;
|
||||
+ }
|
||||
set_default_option (selected_option);
|
||||
- retval = TRUE;
|
||||
break;
|
||||
default:
|
||||
case GTK_RESPONSE_CANCEL:
|
@ -1,99 +1,45 @@
|
||||
diff -aurp gnome-session-2.22.1.1/gnome-session/main.c gnome-session-2.22.1.1-patched/gnome-session/main.c
|
||||
--- gnome-session-2.22.1.1/gnome-session/main.c 2008-04-10 16:32:20.000000000 +0200
|
||||
+++ gnome-session-2.22.1.1-patched/gnome-session/main.c 2008-05-16 15:28:42.777710000 +0200
|
||||
@@ -47,6 +47,8 @@
|
||||
#include "command.h"
|
||||
#include "splash-widget.h"
|
||||
#include "util.h"
|
||||
+#include "prop.h"
|
||||
+#include "session.h"
|
||||
#include "gsm-dbus.h"
|
||||
#include "gsm-sound.h"
|
||||
#include "gsm-gsd.h"
|
||||
@@ -600,6 +602,77 @@ gsm_shutdown_gconfd (void)
|
||||
g_free (command);
|
||||
}
|
||||
|
||||
+static void
|
||||
+fix_wm (Session *session)
|
||||
+{
|
||||
+ GSList *cl, *p;
|
||||
+ Client *client = NULL;
|
||||
+ SmProp *prop = NULL;
|
||||
+ char *compiz_enable_path;
|
||||
--- gnome-session-2.23.4.1-pre/gnome-session/session.c 2008-06-17 08:24:45.000000000 -0500
|
||||
+++ gnome-session-2.23.4.1-work/gnome-session/session.c 2008-07-20 22:32:00.000000000 -0500
|
||||
@@ -347,6 +347,8 @@ append_legacy_session_apps (GsmSession *
|
||||
{
|
||||
GKeyFile *saved;
|
||||
int num_clients, i;
|
||||
+ gchar *compiz_enable_path;
|
||||
+ gboolean compiz_enabled = FALSE;
|
||||
+
|
||||
|
||||
saved = g_key_file_new ();
|
||||
if (!g_key_file_load_from_file (saved, session_filename, 0, NULL))
|
||||
@@ -356,12 +358,33 @@ append_legacy_session_apps (GsmSession *
|
||||
return;
|
||||
}
|
||||
|
||||
+ /* See if compiz is enabled; if it is, we have to replace legacy metacity/compiz
|
||||
+ * entries with gnome-wm */
|
||||
+ compiz_enable_path = g_build_filename (g_get_user_config_dir (), "compiz", "enable-compiz", NULL);
|
||||
+ compiz_enabled = compiz_enable_path && g_file_test (compiz_enable_path, G_FILE_TEST_IS_REGULAR);
|
||||
+ g_free (compiz_enable_path);
|
||||
+
|
||||
+ for (cl = session->client_list; cl; cl = cl->next)
|
||||
+ {
|
||||
+ client = cl->data;
|
||||
+ if (client->match_rule != MATCH_ID)
|
||||
+ continue;
|
||||
num_clients = g_key_file_get_integer (saved, "Default", "num_clients", NULL);
|
||||
for (i = 0; i < num_clients; i++)
|
||||
{
|
||||
GsmApp *app = gsm_app_resumed_new_from_legacy_session (saved, i);
|
||||
if (app)
|
||||
+ {
|
||||
+ GsmAppResumed *app_resumed = (GsmAppResumed *) app;
|
||||
+
|
||||
+ prop = find_property_by_name (client, SmRestartCommand);
|
||||
+ if (!prop)
|
||||
+ continue;
|
||||
+ /* Maybe replace legacy metacity/compiz with gnome-wm */
|
||||
+ if (app_resumed->restart_command &&
|
||||
+ (((!strcmp (app_resumed->restart_command, "metacity") ||
|
||||
+ !strcmp (app_resumed->restart_command, "/usr/bin/metacity")) && compiz_enabled) ||
|
||||
+ (!strcmp (app_resumed->restart_command, "compiz") ||
|
||||
+ !strcmp (app_resumed->restart_command, "/usr/bin/compiz"))))
|
||||
+ {
|
||||
+ g_free (app_resumed->restart_command);
|
||||
+ app_resumed->restart_command = g_strdup ("gnome-wm");
|
||||
+ }
|
||||
+
|
||||
+ if (!strcmp (prop->vals[0].value, "gnome-wm"))
|
||||
+ return;
|
||||
+ else if (((!strcmp (prop->vals[0].value, "metacity") || !strcmp (prop->vals[0].value, "/usr/bin/metacity")) && compiz_enabled) ||
|
||||
+ (!strcmp (prop->vals[0].value, "compiz") || !strcmp (prop->vals[0].value, "/usr/bin/compiz")))
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (!cl)
|
||||
+ return;
|
||||
+
|
||||
+ /* At this point, either client is compiz or client is metacity and we're
|
||||
+ * supposed to run compiz-manager. Either way, replace it with gnome-wm. */
|
||||
+
|
||||
+ for (p = client->properties; p; p = p->next)
|
||||
+ SmFreeProperty (p->data);
|
||||
+ g_slist_free (client->properties);
|
||||
+
|
||||
+ client->properties = NULL;
|
||||
+
|
||||
+ prop = malloc (sizeof (SmProp));
|
||||
+ prop->name = strdup (SmRestartCommand);
|
||||
+ prop->type = strdup (SmLISTofARRAY8);
|
||||
+ if (client->id)
|
||||
+ prop->num_vals = 3;
|
||||
+ else
|
||||
+ prop->num_vals = 1;
|
||||
+ prop->vals = malloc (prop->num_vals * sizeof (SmPropValue));
|
||||
+ prop->vals[0].value = strdup ("gnome-wm");
|
||||
+ prop->vals[0].length = strlen (prop->vals[0].value);
|
||||
+ if (client->id)
|
||||
+ {
|
||||
+ prop->vals[1].value = strdup ("--sm-client-id");
|
||||
+ prop->vals[1].length = strlen (prop->vals[1].value);
|
||||
+ prop->vals[2].value = strdup (client->id);
|
||||
+ prop->vals[2].length = strlen (prop->vals[2].value);
|
||||
+ }
|
||||
+ client->properties = g_slist_prepend (client->properties, prop);
|
||||
+
|
||||
+ prop = malloc (sizeof (SmProp));
|
||||
+ prop->name = strdup (GsmPriority);
|
||||
+ prop->type = strdup (SmCARD8);
|
||||
+ prop->num_vals = 1;
|
||||
+ prop->vals = malloc (sizeof (SmPropValue));
|
||||
+ prop->vals[0].value = calloc (2, 1);
|
||||
+ prop->vals[0].length = 1;
|
||||
+ client->properties = g_slist_prepend (client->properties, prop);
|
||||
+}
|
||||
+
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
@@ -777,6 +850,8 @@ main (int argc, char *argv[])
|
||||
g_setenv ("GNOME_DESKTOP_SESSION_ID", session_name, TRUE);
|
||||
the_session = read_session (session_name);
|
||||
append_app (session, app);
|
||||
+ }
|
||||
}
|
||||
|
||||
+ fix_wm (the_session);
|
||||
+
|
||||
gsm_remote_desktop_start ();
|
||||
|
||||
if (splashing)
|
||||
g_key_file_free (saved);
|
||||
|
@ -1,3 +1,38 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 20 23:21:00 CST 2008 - hpj@suse.de
|
||||
|
||||
- gnome-session-suspend.patch removed; no longer needed and code
|
||||
changed radically.
|
||||
- gnome-session-DESKTOP_LAUNCH.patch removed; no longer needed.
|
||||
- gnome-session-remove-dns-warning.patch removed; no longer needed
|
||||
as the code in question was also removed from upstream.
|
||||
- gnome-session-2.12.0-su-session-management.patch rewritten and
|
||||
renamed to gnome-session-ice-auth-for-suid.patch. Performs same
|
||||
function as before.
|
||||
- gnome-session-2.19.92-kdm-support.patch rewritten and renamed
|
||||
to gnome-session-kdm-support.patch. Performs same functions as
|
||||
before.
|
||||
- gnome-session-motd.patch removed; not the right solution and
|
||||
there is discussion upstream about solving it there. Also does
|
||||
not have any BNC bug justifying its existence.
|
||||
- gnome-session-wm-switch.patch rewritten/rebased.
|
||||
- gnome-session-no-devel-fatals.patch removed; no longer needed.
|
||||
- gnome-session-2.20.0-safe-a11y-startup.patch removed; no longer
|
||||
needed. Was changing the order of startup for daemons - new
|
||||
upstream codebase fixes this.
|
||||
- gnome-session-gcc4.3-fixes.patch removed; no longer needed.
|
||||
- gnome-session-parse-autostart-command-line.patch removed; no
|
||||
longer needed.
|
||||
- gnome-session-include-unistd.patch removed; no longer needed.
|
||||
- gnome-session-bnc385150-performance-hostname.patch removed; no
|
||||
longer needed. The new upstream code specifically addresses this.
|
||||
- gnome-session-gnome-wm-compiz-manager.patch rebased; only path
|
||||
changed.
|
||||
- gnome-session-bnc389137-splash-layout.patch rebased. Dropped the
|
||||
padding changes, but kept the change in icon size. Upstream
|
||||
padding increased, more than matching ours. May need further
|
||||
adjustment.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 27 21:36:06 CEST 2008 - mauro@suse.de
|
||||
|
||||
|
@ -16,8 +16,9 @@ BuildRequires: control-center2-devel fdupes gnome-common gnome-desktop-devel gn
|
||||
License: GPL v2 or later; LGPL v2.1 or later
|
||||
Group: System/GUI/GNOME
|
||||
Version: 2.23.4.1
|
||||
Release: 1
|
||||
Release: 14
|
||||
Summary: Session Tools for the GNOME 2.x Desktop
|
||||
Url: http://www.gnome.org
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
Source1: gnome
|
||||
Source2: gnome.desktop
|
||||
@ -29,39 +30,19 @@ Source4: SuSE.desktop
|
||||
Source5: suse-help.svg
|
||||
#PATCH-FIX-OPENSUSE Install files needed by /usr/bin/gnome suse.svg bnc388735 sbrabec@suse.cz
|
||||
Source6: suse.svg
|
||||
#PATCH-NEEDS-REBASE (was: #PATCH-FIX-UPSTREAM gnome-session-suspend.patch bnc73000 rodrigo@novell.com)
|
||||
Patch0: gnome-session-suspend.patch
|
||||
#PATCH-NEEDS-REBASE (was: #PATCH-FIX-OPENSUSE gnome-session-DESKTOP_LAUNCH.patch -- What was the original motivation for this?)
|
||||
Patch1: gnome-session-DESKTOP_LAUNCH.patch
|
||||
#PATCH-NEEDS-REBASE (was: #PATCH-FIX-UPSTREAM gnome-session-remove-dns-warning.patch federico@novell.com -- Apparently a patch from Meeks, needs review)
|
||||
Patch3: gnome-session-remove-dns-warning.patch
|
||||
#PATCH-NEEDS-REBASE (was: #PATCH-FIX-UPSTREAM gnome-session-2.12.0-su-session-management.patch hpj@novell.com)
|
||||
Patch5: gnome-session-2.12.0-su-session-management.patch
|
||||
#PATCH-NEEDS-REBASE (was: #PATCH-FIX-UPSTREAM gnome-session-2.19.92-kdm-support.patch hpj@novell.com)
|
||||
Patch7: gnome-session-2.19.92-kdm-support.patch
|
||||
#PATCH-NEEDS-REBASE (was: #PATCH-FEATURE-UPSTREAM gnome-session-motd.patch bgo159604 rodrigo@novell.com -- Needs to get upstream or be dropped)
|
||||
Patch8: gnome-session-motd.patch
|
||||
#PATCH-NEEDS-REBASE (was: #PATCH-FIX-OPENSUSE gnome-session-wm-switch.patch bnc180506 danw@novell.com)
|
||||
Patch12: gnome-session-wm-switch.patch
|
||||
#PATCH-NEEDS-REBASE (was: #PATCH-FIX-OPENSUSE gnome-session-no-devel-fatals.patch jpr@novell.com -- Prevents badly breaking factory for people)
|
||||
Patch13: gnome-session-no-devel-fatals.patch
|
||||
#PATCH-FIX-UPSTREAM gnome-session-ice-auth-for-suid.patch hpj@novell.com -- Carries ICE auth over to other UIDs in this session using an env var.
|
||||
Patch0: gnome-session-ice-auth-for-suid.patch
|
||||
#PATCH-FIX-UPSTREAM gnome-session-kdm-support.patch hpj@novell.com -- Adds support for KDM logout commands.
|
||||
Patch1: gnome-session-kdm-support.patch
|
||||
#PATCH-FIX-OPENSUSE gnome-session-wm-switch.patch bnc180506 danw@novell.com -- Fixes legacy sessions to use gnome-wm instead of metacity/compiz.
|
||||
Patch2: gnome-session-wm-switch.patch
|
||||
#PATCH-NEEDS-REBASE (was: #PATCH-FEATURE-OPENSUSE gnome-session-tile-ui.patch cgaisford@novell.com -- Feature from SLED 10 SP1)
|
||||
Patch14: gnome-session-tile-ui.patch
|
||||
#PATCH-NEEDS-REBASE (was: #PATCH-FIX-UPSTREAM gnome-session-2.20.0-safe-a11y-startup.patch bnc302316 bgo469958 cgaisford@novell.com -- hpj@novell.com modified this for bnc332498)
|
||||
Patch15: gnome-session-2.20.0-safe-a11y-startup.patch
|
||||
#PATCH-NEEDS-REBASE (was: #PATCH-FIX-OPENSUSE gnome-session-sound.patch bnc294396 bgo466458 cgaisford@novell.com -- there is a newer version upstream from mandriva )
|
||||
Patch17: gnome-session-gcc4.3-fixes.patch
|
||||
Url: http://www.gnome.org
|
||||
#PATCH-NEEDS-REBASE (was: #PATCH-FIX-OPENSUSE gnome-session-parse-autostart-command-line.patch bnc180126 rodrigo@novell.com -- this is a temporary patch, remove when we update to the new gnome-session (2.23/2.24) )
|
||||
Patch18: gnome-session-parse-autostart-command-line.patch
|
||||
#PATCH-NEEDS-REBASE (was: # PATCH-FIX-UPSTREAM gnome-session-include-unistd.patch maw@novell.com -- Vincent says he'll accept this soon)
|
||||
Patch19: gnome-session-include-unistd.patch
|
||||
#PATCH-NEEDS-REBASE (was: # PATCH-FIX-UPSTREAM gnome-session-bnc385150-performance-hostname.patch bnc385150 vuntz@novell.com -- Extreme slowness on some network setup)
|
||||
Patch20: gnome-session-bnc385150-performance-hostname.patch
|
||||
#PATCH-NEEDS-REBASE (was: # PATCH-FEATURE-OPENSUSE gnome-session-gnome-wm-compiz-manager.patch vuntz@novell.com -- Launch compiz-manager when configured)
|
||||
Patch21: gnome-session-gnome-wm-compiz-manager.patch
|
||||
#PATCH-NEEDS-REBASE (was: # PATCH-FIX-OPENSUSE gnome-session-bnc389137-splash-layout.patch bnc389137 vuntz@novell.com -- Improve layout with our splash screen.)
|
||||
Patch22: gnome-session-bnc389137-splash-layout.patch
|
||||
# <hpj> Not sure about this one. Needs major porting.
|
||||
Patch3: gnome-session-tile-ui.patch
|
||||
#PATCH-FEATURE-OPENSUSE gnome-session-gnome-wm-compiz-manager.patch vuntz@novell.com -- Launch compiz-manager when configured.
|
||||
Patch4: gnome-session-gnome-wm-compiz-manager.patch
|
||||
#PATCH-FIX-OPENSUSE gnome-session-bnc389137-splash-layout.patch bnc389137 vuntz@novell.com -- Improve layout with our splash screen.
|
||||
Patch5: gnome-session-bnc389137-splash-layout.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Recommends: control-center2
|
||||
Obsoletes: gnome-core
|
||||
@ -117,22 +98,12 @@ Authors:
|
||||
%prep
|
||||
%setup -q
|
||||
#gnome-patch-translation-prepare
|
||||
#%patch0
|
||||
#%patch1 -p1
|
||||
#%patch3
|
||||
#%patch5 -p1
|
||||
#%patch7
|
||||
#%patch8
|
||||
#%patch12 -p1
|
||||
#%patch13
|
||||
#%patch14 -p1
|
||||
#%patch15 -p1
|
||||
#%patch17 -p1
|
||||
#%patch18
|
||||
#%patch19 -p0
|
||||
#%patch20 -p1
|
||||
#%patch21 -p1
|
||||
#%patch22
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
# %patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
#gnome-patch-translation-update
|
||||
|
||||
%build
|
||||
@ -203,6 +174,38 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%files lang -f %{name}-2.0.lang
|
||||
|
||||
%changelog
|
||||
* Mon Jul 21 2008 hpj@suse.de
|
||||
- gnome-session-suspend.patch removed; no longer needed and code
|
||||
changed radically.
|
||||
- gnome-session-DESKTOP_LAUNCH.patch removed; no longer needed.
|
||||
- gnome-session-remove-dns-warning.patch removed; no longer needed
|
||||
as the code in question was also removed from upstream.
|
||||
- gnome-session-2.12.0-su-session-management.patch rewritten and
|
||||
renamed to gnome-session-ice-auth-for-suid.patch. Performs same
|
||||
function as before.
|
||||
- gnome-session-2.19.92-kdm-support.patch rewritten and renamed
|
||||
to gnome-session-kdm-support.patch. Performs same functions as
|
||||
before.
|
||||
- gnome-session-motd.patch removed; not the right solution and
|
||||
there is discussion upstream about solving it there. Also does
|
||||
not have any BNC bug justifying its existence.
|
||||
- gnome-session-wm-switch.patch rewritten/rebased.
|
||||
- gnome-session-no-devel-fatals.patch removed; no longer needed.
|
||||
- gnome-session-2.20.0-safe-a11y-startup.patch removed; no longer
|
||||
needed. Was changing the order of startup for daemons - new
|
||||
upstream codebase fixes this.
|
||||
- gnome-session-gcc4.3-fixes.patch removed; no longer needed.
|
||||
- gnome-session-parse-autostart-command-line.patch removed; no
|
||||
longer needed.
|
||||
- gnome-session-include-unistd.patch removed; no longer needed.
|
||||
- gnome-session-bnc385150-performance-hostname.patch removed; no
|
||||
longer needed. The new upstream code specifically addresses this.
|
||||
- gnome-session-gnome-wm-compiz-manager.patch rebased; only path
|
||||
changed.
|
||||
- gnome-session-bnc389137-splash-layout.patch rebased. Dropped the
|
||||
padding changes, but kept the change in icon size. Upstream
|
||||
padding increased, more than matching ours. May need further
|
||||
adjustment.
|
||||
* Fri Jun 27 2008 mauro@suse.de
|
||||
- Update to version 2.23.4.1
|
||||
- Brand new code base, to know the new architecture, go to:
|
||||
@ -216,7 +219,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Tue Jun 03 2008 rodrigo@suse.de
|
||||
- Export SDL_AUDIODRIVER=pulse in gnome startup script to have
|
||||
SDL applications use PulseAudio when in GNOME (bnc#394721)
|
||||
* Sat May 24 2008 sreeves@suse.de
|
||||
* Fri May 23 2008 sreeves@suse.de
|
||||
- Update the "gnome" script to not start gpk-update-icon on live install
|
||||
BNC #390658
|
||||
* Mon May 19 2008 sbrabec@suse.cz
|
||||
@ -253,7 +256,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
performance issue when launching new apps in GNOME on a default
|
||||
beta1 install -- extreme slowness can happen depending on the
|
||||
network setup. Fix bnc#385150, patch by Michael Meeks.
|
||||
* Wed Apr 30 2008 vuntz@suse.de
|
||||
* Tue Apr 29 2008 vuntz@suse.de
|
||||
- Actually copy the right live-installer.desktop (instead of a
|
||||
non-existing file) in gnome script so the installer icon appears
|
||||
on the desktop.
|
||||
@ -280,7 +283,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Fri Mar 28 2008 rodrigo@suse.de
|
||||
- Added gnome-session-parse-autostart-command-line.patch to deal
|
||||
correctly with placeholders in command lines (bnc#180126)
|
||||
* Fri Mar 14 2008 maw@suse.de
|
||||
* Thu Mar 13 2008 maw@suse.de
|
||||
- Update to version 2.22.0:
|
||||
+ Remove hard esound dependency
|
||||
+ Don't start the sound server, and play the login sound when
|
||||
@ -288,7 +291,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
+ Updated translations
|
||||
* Mon Mar 10 2008 sbrabec@suse.cz
|
||||
- Require bug-buddy and its bi-arch counterpart (bnc#354164).
|
||||
* Wed Mar 05 2008 maw@suse.de
|
||||
* Tue Mar 04 2008 maw@suse.de
|
||||
- Update to version 2.21.92:
|
||||
+ Require recent versions of gnome-keyring
|
||||
+ Correctly handle the env. variables given by gnome-keyring to
|
||||
@ -311,7 +314,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Remove gnome-session-splash-screen.diff its obsoleted by bgo116814
|
||||
(originally bnc5780)
|
||||
- Remove handling of SUSE Linux 10.0 in the spec, its EOL
|
||||
* Thu Jan 31 2008 maw@suse.de
|
||||
* Wed Jan 30 2008 maw@suse.de
|
||||
- Update to version 2.21.90:
|
||||
+ Set orientation with randr too (Luca Cavalli)
|
||||
+ Fix warnings and plug leaks
|
||||
@ -321,7 +324,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
+ Change capplet title
|
||||
+ HIG fixes in the capplet
|
||||
+ Updated translations.
|
||||
* Fri Nov 09 2007 hpj@suse.de
|
||||
* Thu Nov 08 2007 hpj@suse.de
|
||||
- Rename gnome-session-main-init.patch to
|
||||
gnome-session-2.20.0-safe-a11y-startup.patch, and change it so
|
||||
a11y is started up before the user session, but still after
|
||||
@ -335,32 +338,32 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Updated gnome script to detect live install user and create
|
||||
desktop entires in the ~/.config/autostart directory to disable
|
||||
beagle and opensuse-updater applets. Bug #326801
|
||||
* Thu Sep 20 2007 cgaisford@novell.com
|
||||
* Wed Sep 19 2007 cgaisford@novell.com
|
||||
- Updated gnome script to create live install desktop file if the
|
||||
system is booted into a live install configuration. Also depends
|
||||
on an update to the gnome2-SuSE package which contains the desktop
|
||||
file. Bug #310543
|
||||
* Wed Sep 19 2007 mauro@suse.de
|
||||
* Tue Sep 18 2007 mauro@suse.de
|
||||
- Update to version 2.20.0
|
||||
+ Updated translations
|
||||
* Sat Sep 15 2007 cgaisford@novell.com
|
||||
* Fri Sep 14 2007 cgaisford@novell.com
|
||||
- Modified the gnome script to copy the SuSE.desktop file to the
|
||||
desktop which points to the greeter app #300773
|
||||
* Thu Sep 13 2007 jpr@suse.de
|
||||
- Ensure ~/Desktop exists before copying to it (#310363)
|
||||
* Thu Sep 13 2007 sbrabec@suse.cz
|
||||
- Fixed background resetting in /usr/bin/gnome (#309946).
|
||||
* Thu Sep 13 2007 cgaisford@novell.com
|
||||
* Wed Sep 12 2007 cgaisford@novell.com
|
||||
- Fixed up kdm-support patch to support gnome sessions in KDM
|
||||
Novell Bug #308022
|
||||
* Mon Sep 10 2007 maw@suse.de
|
||||
- Update to versino 2.19.92:
|
||||
+ Fix compiz support in gnome-wm
|
||||
+ Updated translations.
|
||||
* Sat Sep 08 2007 lewing@suse.de
|
||||
* Fri Sep 07 2007 lewing@suse.de
|
||||
- Copy GnomeOnlineHelp.desktop to ~/Desktop the first time 10.3
|
||||
runs. Part of bnc #300773
|
||||
* Fri Sep 07 2007 cgaisford@novell.com
|
||||
* Thu Sep 06 2007 cgaisford@novell.com
|
||||
- Created a patch to fix login and logout sounds in gnome-session
|
||||
Novell bug 294396 and bugzilla.gnome.org #466458
|
||||
* Tue Sep 04 2007 maw@suse.de
|
||||
@ -370,7 +373,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Fri Aug 31 2007 maw@suse.de
|
||||
- Update to version 2.19.90:
|
||||
+ Updated translations.
|
||||
* Wed Aug 29 2007 cgaisford@novell.com
|
||||
* Tue Aug 28 2007 cgaisford@novell.com
|
||||
- Further testing showed that the a11y needs to be done much lower
|
||||
in the loop so I've moved it down right before the gtk-main
|
||||
* Mon Aug 27 2007 cgaisford@novell.com
|
||||
@ -382,13 +385,13 @@ rm -rf $RPM_BUILD_ROOT
|
||||
if they are not available. Fix for Novell Bug 238299
|
||||
- Included patch to fix up load time that is pending review
|
||||
upstream. I'll add it to the spec file once approved
|
||||
* Wed Aug 08 2007 maw@suse.de
|
||||
* Tue Aug 07 2007 maw@suse.de
|
||||
- Use %%fdupes
|
||||
- Split off a -lang subpackage.
|
||||
* Sat Aug 04 2007 dreveman@suse.de
|
||||
* Fri Aug 03 2007 dreveman@suse.de
|
||||
- Update for compiz 0.5.2, which need glib plugin to be loaded
|
||||
before gconf plugin.
|
||||
* Fri Aug 03 2007 cgaisford@suse.de
|
||||
* Thu Aug 02 2007 cgaisford@suse.de
|
||||
- Fixed up the tile-ui patch to work with the new gnome
|
||||
* Thu Aug 02 2007 maw@suse.de
|
||||
- Update to version 2.19.6:
|
||||
@ -494,7 +497,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Yang Zhang (zh_CN)
|
||||
* Wed Apr 04 2007 sbrabec@suse.cz
|
||||
- Session start script (gnome) cleanup (#254439).
|
||||
* Wed Apr 04 2007 jhargadon@suse.de
|
||||
* Tue Apr 03 2007 jhargadon@suse.de
|
||||
- specfile cleanup (#255906)
|
||||
* Mon Mar 19 2007 jpr@suse.de
|
||||
- Update to 2.18.0
|
||||
@ -508,7 +511,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Translations
|
||||
* Wed Mar 14 2007 sbrabec@suse.cz
|
||||
- Fixed at-spi-registryd path (#254403).
|
||||
* Fri Mar 09 2007 maw@suse.de
|
||||
* Thu Mar 08 2007 maw@suse.de
|
||||
- Update to version 2.17.91.
|
||||
Session Properties Dialog
|
||||
* Update categories in the .desktop file for the new control center
|
||||
@ -579,19 +582,19 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Use Program instead of Command in the capplet (Tom Tromey)
|
||||
* Fri Mar 02 2007 sbrabec@suse.cz
|
||||
- Do not own /usr/share/xsessions (#229172).
|
||||
* Tue Feb 13 2007 cgaisford@novell.com
|
||||
* Mon Feb 12 2007 cgaisford@novell.com
|
||||
- updated the UI from changes make in SLED.
|
||||
* Mon Jan 08 2007 sbrabec@suse.cz
|
||||
* Sun Jan 07 2007 sbrabec@suse.cz
|
||||
- Prefix changed to /usr.
|
||||
- Spec file cleanup.
|
||||
* Sat Dec 23 2006 federico@novell.com
|
||||
* Fri Dec 22 2006 federico@novell.com
|
||||
- Removed the part of /usr/bin/gnome that overwrites the
|
||||
/desktop/gnome/font_rendering/dpi setting in GConf upon the user's
|
||||
first login. With an updated control-center2 package,
|
||||
gnome-settings-daemon will take care of figuring out the right DPI
|
||||
value. Fixes the gnome-session part of
|
||||
https://bugzilla.novell.com/show_bug.cgi?id=217790.
|
||||
* Sun Oct 15 2006 danw@suse.de
|
||||
* Sat Oct 14 2006 danw@suse.de
|
||||
- Remove dead patches
|
||||
- Update and re-enable gnome-session-remove-dns-warning.patch
|
||||
* Fri Oct 13 2006 dreveman@suse.de
|
||||
@ -609,7 +612,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- update to version 2.16.0
|
||||
- Updated splash screen
|
||||
- translation updates
|
||||
* Thu Aug 31 2006 jhargadon@suse.de
|
||||
* Wed Aug 30 2006 jhargadon@suse.de
|
||||
- update to version 2.15.92
|
||||
- Fix crash caused by debug output on Solaris
|
||||
- translation updates
|
||||
@ -628,27 +631,27 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Fix edition of startup programs containing a space in a command line
|
||||
argument
|
||||
- Add gnome-keyring dependency
|
||||
* Wed Aug 02 2006 danw@suse.de
|
||||
* Tue Aug 01 2006 danw@suse.de
|
||||
- If the session explicitly specifies metacity or compiz, but
|
||||
the "wrong" X server for that wm is running, switch back to
|
||||
gnome-wm. #180506
|
||||
* Fri Jun 16 2006 danw@suse.de
|
||||
- Pass --replace to compiz and gnome-window-decorator in case the
|
||||
copies run by gdm don't exit properly. #185296
|
||||
* Tue Jun 13 2006 rodrigo@suse.de
|
||||
* Mon Jun 12 2006 rodrigo@suse.de
|
||||
- Added patch to create ~/.config/autostart before starting the
|
||||
migration from previous versions (#169509)
|
||||
* Fri Jun 02 2006 gekker@suse.de
|
||||
- Fix pager on upgrade (#181264)
|
||||
* Thu Jun 01 2006 jpr@suse.de
|
||||
* Wed May 31 2006 jpr@suse.de
|
||||
- Don't run the migration script for new users (#179332)
|
||||
* Thu May 25 2006 joeshaw@suse.de
|
||||
* Wed May 24 2006 joeshaw@suse.de
|
||||
- Fix the gnome script to not break when setting the background on
|
||||
multihead setups. Patch from Erik Jacobsen. (bnc #178388)
|
||||
* Sun May 21 2006 jpr@suse.de
|
||||
- Reset the user's UI if upgrading from NLD9/SLES9 to SLED10, leave ui
|
||||
for SLES10 upgrades (#174123)
|
||||
* Sat May 13 2006 hpj@suse.de
|
||||
* Fri May 12 2006 hpj@suse.de
|
||||
- Update keyring unlockage patch to try both CASA's
|
||||
Gnome_Keyring_Default and Desktop passwords. Part of fix for
|
||||
Novell bug #174093.
|
||||
@ -659,7 +662,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Update gnome-wm to pick metacity or compiz based on whether it's
|
||||
actually running under Xgl or not, regardless of what
|
||||
/etc/sysconfig/displaymanager says. Fixes Xnest logins. #170839.
|
||||
* Wed May 03 2006 joeshaw@suse.de
|
||||
* Tue May 02 2006 joeshaw@suse.de
|
||||
- Don't write out a font using raw XML to the gconf database,
|
||||
that's wrong and evil. Instead, try to set the desktop's DPI
|
||||
value using gconftool-2. (bnc #171096)
|
||||
@ -672,14 +675,14 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Thu Apr 13 2006 sbrabec@suse.cz
|
||||
- Call %%suse_update_desktop_file.
|
||||
- Use new control-center Categories instead of old ones.
|
||||
* Sat Apr 08 2006 danw@suse.de
|
||||
* Fri Apr 07 2006 danw@suse.de
|
||||
- Patch gnome-wm to prefer compiz when Xgl is running
|
||||
* Wed Apr 05 2006 hpj@suse.de
|
||||
- Fix keyring unlock patch to use g_strlcpy() correctly again.
|
||||
Fixes bug #159593 together with a CASA fix.
|
||||
* Fri Mar 31 2006 rodrigo@suse.de
|
||||
- Added missing "/" for /etc/xdg/autostart searching (#161322)
|
||||
* Tue Mar 28 2006 jpr@suse.de
|
||||
* Mon Mar 27 2006 jpr@suse.de
|
||||
- Handle only shipping 2 sizes of backgrounds
|
||||
* Tue Mar 21 2006 rodrigo@suse.de
|
||||
- Added support for /etc/xdg/autostart directory, so that
|
||||
@ -696,7 +699,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Removed gnome-session-default-applications.patch, all needed
|
||||
applications are now started, if installed, via the autostart
|
||||
mechanism.
|
||||
* Tue Mar 07 2006 rodrigo@suse.de
|
||||
* Mon Mar 06 2006 rodrigo@suse.de
|
||||
- Fixed support for multiple system autostart directories.
|
||||
- Disable GUI operations for system-wide files (#154755).
|
||||
* Thu Mar 02 2006 rodrigo@suse.de
|
||||
@ -704,20 +707,20 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Use g_strlcpy instead of strcpy when copying passwords.
|
||||
* Wed Feb 22 2006 rodrigo@suse.de
|
||||
- Added gnome-session-gsd-early-start.patch that fixes #150256.
|
||||
* Fri Feb 17 2006 rodrigo@suse.de
|
||||
* Thu Feb 16 2006 rodrigo@suse.de
|
||||
- Don't try to remove non-existing files (#145870)
|
||||
* Thu Feb 16 2006 rodrigo@suse.de
|
||||
- Updated gnome-session-suspend-patch to make suspend work as
|
||||
expected (#117491)
|
||||
* Wed Feb 15 2006 rodrigo@suse.de
|
||||
- Added MOTD on login, as requested by customer.
|
||||
* Mon Feb 13 2006 hpj@suse.de
|
||||
* Sun Feb 12 2006 hpj@suse.de
|
||||
- Added patch to support KDM's logout options.
|
||||
* Fri Feb 10 2006 joeshaw@suse.de
|
||||
- Remove the beagled invocation from the /usr/X11R6/bin/gnome
|
||||
shell script; it gets invoked through the new autostart
|
||||
mechanism now. (bnc #150041)
|
||||
* Thu Feb 09 2006 rodrigo@suse.de
|
||||
* Wed Feb 08 2006 rodrigo@suse.de
|
||||
- Updated gnome-session-suspend.patch to not exit the X session
|
||||
when suspend is selected on the logout dialog (117491)
|
||||
* Wed Feb 08 2006 joeshaw@suse.de
|
||||
@ -730,10 +733,10 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Mon Feb 06 2006 hpj@suse.de
|
||||
- Fixed gnome-keyring-unlock patch to give correct soname for
|
||||
casa.
|
||||
* Mon Feb 06 2006 hpj@suse.de
|
||||
* Sun Feb 05 2006 hpj@suse.de
|
||||
- Updated gnome-keyring-unlock patch with dlopen hack from CASA
|
||||
team. I have no idea why this is required.
|
||||
* Mon Feb 06 2006 ro@suse.de
|
||||
* Sun Feb 05 2006 ro@suse.de
|
||||
- make it build on x86_64 (adding libdir to CASA unlock patch)
|
||||
* Fri Feb 03 2006 rodrigo@suse.de
|
||||
- Added gnome-session-rdesktop.diff, that fixes hang on login when
|
||||
@ -746,7 +749,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Sat Jan 28 2006 hpj@suse.de
|
||||
- Added patch to unlock default GNOME keyring using the CASA
|
||||
password, optionally creating it if it doesn't exist.
|
||||
* Fri Jan 27 2006 hpj@suse.de
|
||||
* Thu Jan 26 2006 hpj@suse.de
|
||||
- Set the ICEAUTHORITY env var so programs running as root can
|
||||
get to the cookies. Eliminates hangs on logout.
|
||||
* Wed Jan 25 2006 mls@suse.de
|
||||
@ -768,7 +771,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Updated autostart patch that includes code to migrate from the
|
||||
old ~/.gnome2/session-manual to the .desktop file-based thing
|
||||
in the user's home directory.
|
||||
* Sun Jan 08 2006 dreveman@suse.de
|
||||
* Sat Jan 07 2006 dreveman@suse.de
|
||||
- Improved logout effect patch
|
||||
* Thu Jan 05 2006 rodrigo@suse.de
|
||||
- Small fix to previous patch to avoid crash.
|
||||
@ -834,9 +837,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Update splash for 10.0
|
||||
* Tue Aug 09 2005 rodrigo@suse.de
|
||||
- Update to 2.11.91, which includes fix for #102652
|
||||
* Sat Aug 06 2005 gekker@suse.de
|
||||
* Fri Aug 05 2005 gekker@suse.de
|
||||
- Start gnome-volume-manager with session
|
||||
* Thu Aug 04 2005 gekker@suse.de
|
||||
* Wed Aug 03 2005 gekker@suse.de
|
||||
- Start beagle by default, disable with ~/.dontrunbeagle
|
||||
* Tue Aug 02 2005 gekker@suse.de
|
||||
- Update to 2.11.90
|
||||
@ -855,18 +858,18 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Don't run beagle unless ~/.runbeagle exists (#74029)
|
||||
* Sat Mar 19 2005 jody@suse.de
|
||||
- Enable suspend if it is available. (#73000)
|
||||
* Fri Mar 18 2005 clahey@suse.de
|
||||
* Thu Mar 17 2005 clahey@suse.de
|
||||
- Patch fixes freeze on login.
|
||||
* Wed Mar 16 2005 sbrabec@suse.cz
|
||||
- Fixed gnome-session-desktop-file.patch (#73047).
|
||||
* Mon Mar 14 2005 clahey@suse.de
|
||||
- Update gnome splash from artists.
|
||||
* Thu Mar 10 2005 gekker@suse.de
|
||||
* Wed Mar 09 2005 gekker@suse.de
|
||||
- Update to version 2.10.0 (GNOME 2.10).
|
||||
* Mon Mar 07 2005 gekker@suse.de
|
||||
- mv suseplugger to default-apps patch
|
||||
- launch netapplet, resapplet, and best on startup
|
||||
* Sat Feb 26 2005 gekker@suse.de
|
||||
* Fri Feb 25 2005 gekker@suse.de
|
||||
- Add launch wrapper to launch beagled if installed in file gnome
|
||||
* Wed Feb 09 2005 sbrabec@suse.cz
|
||||
- Added session desktop file.
|
||||
@ -897,7 +900,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Fri Sep 10 2004 hhetter@suse.de
|
||||
- run use_default_session again to make the 9.2 distribution
|
||||
wallpapers accessible
|
||||
* Fri Sep 10 2004 federico@ximian.com
|
||||
* Thu Sep 09 2004 federico@ximian.com
|
||||
- Added gnome-session-remove-purge-timeout.diff, to fix
|
||||
http://bugzilla.gnome.org/show_bug.cgi?id=151664
|
||||
- Changed gnome-session-suseplugger.patch to run suseplugger with
|
||||
@ -912,22 +915,22 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Fixes bug #61567
|
||||
kdm shows 'Reboot' and 'Shutdown' options at the time
|
||||
of logout.
|
||||
* Fri Aug 06 2004 clahey@suse.de
|
||||
* Thu Aug 05 2004 clahey@suse.de
|
||||
- Added gnome-session-remove-dns-warning.patch from Federico.
|
||||
* Fri Jul 16 2004 shprasad@suse.de
|
||||
- Fixes bug #59918
|
||||
Hides the splash-screen once the difault setting gets loaded.
|
||||
* Thu Jul 08 2004 sbrabec@suse.cz
|
||||
- Added DESKTOP_LAUNCH patch from Jan Holesovsky.
|
||||
* Sat Jun 19 2004 dave@suse.de
|
||||
* Fri Jun 18 2004 dave@suse.de
|
||||
- Don't set the wallpaper or font in the gnome startup script.
|
||||
* Sat Jun 12 2004 clahey@suse.de
|
||||
* Fri Jun 11 2004 clahey@suse.de
|
||||
- Added gnome-session-use-gdmctl.patch.
|
||||
* Fri Jun 04 2004 clahey@suse.de
|
||||
* Thu Jun 03 2004 clahey@suse.de
|
||||
- Switch to Novell session splash screen.
|
||||
* Thu Jun 03 2004 mibarra@suse.de
|
||||
* Wed Jun 02 2004 mibarra@suse.de
|
||||
- Make GNOME use suseplugger
|
||||
* Wed May 12 2004 clahey@suse.de
|
||||
* Tue May 11 2004 clahey@suse.de
|
||||
- Added gnome-session-2.0.5-dithering.patch to use MAX dithering.
|
||||
- Added gnome-session-desktop-file.patch to make gnome-session show
|
||||
up in control-center.
|
||||
@ -986,7 +989,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Removed distribution desktop files.
|
||||
* Wed May 28 2003 sbrabec@suse.cz
|
||||
- Compress manpages.
|
||||
* Wed May 28 2003 ro@suse.de
|
||||
* Tue May 27 2003 ro@suse.de
|
||||
- added manpages to filelist
|
||||
* Tue Mar 18 2003 sbrabec@suse.cz
|
||||
- Variables already set in profile files removed from session startup
|
||||
@ -1023,7 +1026,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Added libjpeg to neededforbuild.
|
||||
* Thu Nov 28 2002 hhetter@suse.de
|
||||
- updated to version 2.0.9 [GNOME 2.0.3]
|
||||
* Tue Nov 12 2002 ro@suse.de
|
||||
* Mon Nov 11 2002 ro@suse.de
|
||||
- changed neededforbuild <xf86 xdevel> to <x-devel-packages>
|
||||
* Wed Nov 06 2002 hhetter@suse.de
|
||||
- use correct kde-datadir
|
||||
@ -1073,7 +1076,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Thu Jun 20 2002 hhetter@suse.de
|
||||
- updated to version 2.0.1
|
||||
- don't install schemas while make install
|
||||
* Mon Jun 17 2002 ro@suse.de
|
||||
* Sun Jun 16 2002 ro@suse.de
|
||||
- use libpng-devel-packages in neededforbuild
|
||||
* Fri Jun 14 2002 hhetter@suse.de
|
||||
- provide schema file
|
||||
|
Loading…
Reference in New Issue
Block a user