diff options
author | Xavier Claessens <xclaesse@gmail.com> | 2009-11-16 04:38:57 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2009-11-16 20:24:22 +0800 |
commit | 13b916845f7bd4762e2709a99456986bde12b3d9 (patch) | |
tree | cba6d4000179b9b8d6ef8f61ceba28b48262abb8 /src/empathy-main-window.c | |
parent | 441909cbcd7c740f49b714b61e31a5236d808538 (diff) | |
download | gsoc2013-empathy-13b916845f7bd4762e2709a99456986bde12b3d9.tar gsoc2013-empathy-13b916845f7bd4762e2709a99456986bde12b3d9.tar.gz gsoc2013-empathy-13b916845f7bd4762e2709a99456986bde12b3d9.tar.bz2 gsoc2013-empathy-13b916845f7bd4762e2709a99456986bde12b3d9.tar.lz gsoc2013-empathy-13b916845f7bd4762e2709a99456986bde12b3d9.tar.xz gsoc2013-empathy-13b916845f7bd4762e2709a99456986bde12b3d9.tar.zst gsoc2013-empathy-13b916845f7bd4762e2709a99456986bde12b3d9.zip |
Reload the main window geometry when deiconify to workaround WM bugs.
Diffstat (limited to 'src/empathy-main-window.c')
-rw-r--r-- | 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 2a316b99e..bfd6b8991 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, |