| 1 |
--- metacity-2.27.0/src/core/session.c 2009-02-20 10:26:32.000000000 -0500
|
| 2 |
+++ hacked/src/core/session.c 2009-06-07 23:46:25.927041281 -0400
|
| 3 |
@@ -82,7 +82,7 @@
|
| 4 |
static char* load_state (const char *previous_save_file);
|
| 5 |
static void regenerate_save_file (void);
|
| 6 |
static const char* full_save_file (void);
|
| 7 |
-static void warn_about_lame_clients_and_finish_interact (gboolean shutdown);
|
| 8 |
+static void finish_interact (gboolean shutdown);
|
| 9 |
|
| 10 |
/* This is called when data is available on an ICE connection. */
|
| 11 |
static gboolean
|
| 12 |
@@ -382,7 +382,7 @@
|
| 13 |
return;
|
| 14 |
}
|
| 15 |
|
| 16 |
- warn_about_lame_clients_and_finish_interact (FALSE);
|
| 17 |
+ finish_interact (FALSE);
|
| 18 |
|
| 19 |
if (session_connection == NULL)
|
| 20 |
return;
|
| 21 |
@@ -584,7 +584,7 @@
|
| 22 |
|
| 23 |
current_state = STATE_DONE_WITH_INTERACT;
|
| 24 |
|
| 25 |
- warn_about_lame_clients_and_finish_interact (shutdown);
|
| 26 |
+ finish_interact (shutdown);
|
| 27 |
}
|
| 28 |
|
| 29 |
static void
|
| 30 |
@@ -1724,13 +1724,6 @@
|
| 31 |
return full_save_path;
|
| 32 |
}
|
| 33 |
|
| 34 |
-static int
|
| 35 |
-windows_cmp_by_title (MetaWindow *a,
|
| 36 |
- MetaWindow *b)
|
| 37 |
-{
|
| 38 |
- return g_utf8_collate (a->title, b->title);
|
| 39 |
-}
|
| 40 |
-
|
| 41 |
static void
|
| 42 |
finish_interact (gboolean shutdown)
|
| 43 |
{
|
| 44 |
@@ -1742,89 +1735,4 @@
|
| 45 |
}
|
| 46 |
}
|
| 47 |
|
| 48 |
-static void
|
| 49 |
-sigchld_handler (MetaNexus *nexus, guint arg1, gpointer arg2, gpointer user_data)
|
| 50 |
-{
|
| 51 |
- gboolean shutdown = GPOINTER_TO_INT (user_data);
|
| 52 |
-
|
| 53 |
- if (arg1 == 0) /* pressed "OK" */
|
| 54 |
- {
|
| 55 |
- finish_interact (shutdown);
|
| 56 |
- }
|
| 57 |
-}
|
| 58 |
-
|
| 59 |
-static void
|
| 60 |
-warn_about_lame_clients_and_finish_interact (gboolean shutdown)
|
| 61 |
-{
|
| 62 |
- GSList *lame = NULL;
|
| 63 |
- GSList *windows;
|
| 64 |
- GSList *lame_details = NULL;
|
| 65 |
- GSList *tmp;
|
| 66 |
- GSList *columns = NULL;
|
| 67 |
-
|
| 68 |
- windows = meta_display_list_windows (meta_get_display ());
|
| 69 |
- tmp = windows;
|
| 70 |
- while (tmp != NULL)
|
| 71 |
- {
|
| 72 |
- MetaWindow *window;
|
| 73 |
-
|
| 74 |
- window = tmp->data;
|
| 75 |
-
|
| 76 |
- /* only complain about normal windows, the others
|
| 77 |
- * are kind of dumb to worry about
|
| 78 |
- */
|
| 79 |
- if (window->sm_client_id == NULL &&
|
| 80 |
- window->type == META_WINDOW_NORMAL)
|
| 81 |
- lame = g_slist_prepend (lame, window);
|
| 82 |
-
|
| 83 |
- tmp = tmp->next;
|
| 84 |
- }
|
| 85 |
-
|
| 86 |
- g_slist_free (windows);
|
| 87 |
-
|
| 88 |
- if (lame == NULL)
|
| 89 |
- {
|
| 90 |
- /* No lame apps. */
|
| 91 |
- finish_interact (shutdown);
|
| 92 |
- return;
|
| 93 |
- }
|
| 94 |
-
|
| 95 |
- columns = g_slist_prepend (columns, "Window");
|
| 96 |
- columns = g_slist_prepend (columns, "Class");
|
| 97 |
-
|
| 98 |
- lame = g_slist_sort (lame, (GCompareFunc) windows_cmp_by_title);
|
| 99 |
-
|
| 100 |
- tmp = lame;
|
| 101 |
- while (tmp != NULL)
|
| 102 |
- {
|
| 103 |
- MetaWindow *w = tmp->data;
|
| 104 |
-
|
| 105 |
- lame_details = g_slist_prepend (lame_details,
|
| 106 |
- w->res_class ? w->res_class : "");
|
| 107 |
- lame_details = g_slist_prepend (lame_details,
|
| 108 |
- w->title);
|
| 109 |
-
|
| 110 |
- tmp = tmp->next;
|
| 111 |
- }
|
| 112 |
- g_slist_free (lame);
|
| 113 |
-
|
| 114 |
- meta_show_dialog("--list",
|
| 115 |
- _("These windows do not support "save current setup" "
|
| 116 |
- "and will have to be restarted manually next time "
|
| 117 |
- "you log in."),
|
| 118 |
- "240",
|
| 119 |
- meta_screen_get_screen_number (meta_get_display()->active_screen),
|
| 120 |
- NULL, NULL,
|
| 121 |
- None,
|
| 122 |
- columns,
|
| 123 |
- lame_details);
|
| 124 |
-
|
| 125 |
- g_slist_free (lame_details);
|
| 126 |
-
|
| 127 |
- g_signal_connect (sigchld_nexus, "sigchld",
|
| 128 |
- G_CALLBACK (sigchld_handler),
|
| 129 |
- GINT_TO_POINTER (shutdown));
|
| 130 |
-
|
| 131 |
-}
|
| 132 |
-
|
| 133 |
#endif /* HAVE_SM */
|