From: Xavier Claessens Date: Sun, 15 Nov 2009 20:38:57 +0000 (+0100) Subject: Reload the main window geometry when deiconify to workaround WM bugs. X-Git-Url: https://git.0d.be/?p=empathy.git;a=commitdiff_plain;h=13b916845f7bd4762e2709a99456986bde12b3d9 Reload the main window geometry when deiconify to workaround WM bugs. --- diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c index 2a316b99..bfd6b899 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,