fix restoring previously maximized window from tray

This commit is contained in:
TingPing 2012-12-16 12:54:15 -05:00
parent c6d955ade7
commit 59d3fa47a5
2 changed files with 9 additions and 4 deletions

View File

@ -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;
}

View File

@ -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;