[empathy] Reload the main window geometry when deiconify to workaround WM bugs.
- From: Xavier Claessens <xclaesse src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [empathy] Reload the main window geometry when deiconify to workaround WM bugs.
- Date: Mon, 16 Nov 2009 12:24:39 +0000 (UTC)
commit 13b916845f7bd4762e2709a99456986bde12b3d9
Author: Xavier Claessens <xclaesse gmail com>
Date: Sun Nov 15 21:38:57 2009 +0100
Reload the main window geometry when deiconify to workaround WM bugs.
src/empathy-main-window.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c
index 2a316b9..bfd6b89 100644
--- a/src/empathy-main-window.c
+++ b/src/empathy-main-window.c
@@ -1194,6 +1194,21 @@ account_manager_prepared_cb (GObject *source_object,
g_list_free (accounts);
}
+static gboolean
+main_window_state_event_cb (GtkWidget *widget,
+ GdkEventWindowState *event,
+ EmpathyMainWindow *window)
+{
+ /* Force reloading geometry because some WM lose it in the
+ * iconify/deiconify process */
+ if ((event->changed_mask & GDK_WINDOW_STATE_ICONIFIED) != 0 &&
+ (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) == 0) {
+ empathy_geometry_load (GTK_WINDOW (window->window), GEOMETRY_NAME);
+ }
+
+ return FALSE;
+}
+
GtkWidget *
empathy_main_window_show (void)
{
@@ -1242,6 +1257,7 @@ empathy_main_window_show (void)
empathy_builder_connect (gui, window,
"main_window", "destroy", main_window_destroy_cb,
+ "main_window", "window-state-event", main_window_state_event_cb,
"chat_quit", "activate", main_window_chat_quit_cb,
"chat_new_message", "activate", main_window_chat_new_message_cb,
"view_history", "activate", main_window_view_history_cb,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]