diff options
author | TingPing <tingping@tingping.se> | 2012-12-16 12:54:15 -0500 |
---|---|---|
committer | TingPing <tingping@tingping.se> | 2012-12-16 12:54:15 -0500 |
commit | 59d3fa47a5e5247b7af1dd2559193126b367d8ad (patch) | |
tree | e98f2e7a7568508ee0b11560715bb6524f8f1911 /src/fe-gtk | |
parent | c6d955ade738815ec119ae76db32a3fcc1ac5d72 (diff) |
fix restoring previously maximized window from tray
Diffstat (limited to 'src/fe-gtk')
-rw-r--r-- | src/fe-gtk/maingui.c | 8 | ||||
-rw-r--r-- | src/fe-gtk/plugin-tray.c | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c index e5f79abd..ff8f6d69 100644 --- a/src/fe-gtk/maingui.c +++ b/src/fe-gtk/maingui.c @@ -498,10 +498,6 @@ fe_set_title (session *sess) static gboolean mg_windowstate_cb (GtkWindow *wid, GdkEventWindowState *event, gpointer userdata) { - prefs.hex_gui_win_state = 0; - if (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED) - prefs.hex_gui_win_state = 1; - if ((event->changed_mask & GDK_WINDOW_STATE_ICONIFIED) && (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) && prefs.hex_gui_tray_minimize && !hextray_mode ()) @@ -510,6 +506,10 @@ mg_windowstate_cb (GtkWindow *wid, GdkEventWindowState *event, gpointer userdata gtk_window_deiconify (wid); } + prefs.hex_gui_win_state = 0; + if (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED) + prefs.hex_gui_win_state = 1; + return FALSE; } diff --git a/src/fe-gtk/plugin-tray.c b/src/fe-gtk/plugin-tray.c index 07207a99..e77bf95c 100644 --- a/src/fe-gtk/plugin-tray.c +++ b/src/fe-gtk/plugin-tray.c @@ -372,6 +372,7 @@ tray_toggle_visibility (gboolean force_hide) { static int x, y; static GdkScreen *screen; + static int maximized; GtkWindow *win; if (!sticon) @@ -396,14 +397,18 @@ tray_toggle_visibility (gboolean force_hide) { gtk_window_get_position (win, &x, &y); screen = gtk_window_get_screen (win); + maximized = prefs.hex_gui_win_state; gtk_widget_hide (GTK_WIDGET (win)); } else { gtk_window_set_screen (win, screen); gtk_window_move (win, x, y); + if (maximized) + gtk_window_maximize (win); gtk_widget_show (GTK_WIDGET (win)); gtk_window_present (win); + } return TRUE; |