( cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/plugins/smime/smime.c; cvs diff -u -r 1.10.2.23 -r 1.10.2.24 src/privacy.c; ) > 3.7.5cvs3.patchset
( cvs diff -u -r 1.10.2.24 -r 1.10.2.25 src/privacy.c; ) > 3.7.5cvs4.patchset
( cvs diff -u -r 1.28.2.42 -r 1.28.2.43 src/addrindex.c; cvs diff -u -r 1.8.2.36 -r 1.8.2.37 src/editldap.c; cvs diff -u -r 1.2.2.19 -r 1.2.2.20 src/ldapctrl.c; cvs diff -u -r 1.1.4.14 -r 1.1.4.15 src/ldapctrl.h; cvs diff -u -r 1.3.2.33 -r 1.3.2.34 src/ldapquery.c; cvs diff -u -r 1.1.2.23 -r 1.1.2.24 src/ldapupdate.c; ) > 3.7.5cvs5.patchset
+( cvs diff -u -r 1.14.2.69 -r 1.14.2.70 src/plugins/trayicon/trayicon.c; ) > 3.7.5cvs6.patchset
static EggTrayIcon *trayicon;
static GtkWidget *eventbox;
static GtkWidget *image = NULL;
+static GtkWidget *focused_widget = NULL;
#if !(GTK_CHECK_VERSION(2,12,0))
static GtkTooltips *tooltips;
gboolean *close_allowed = (gboolean*)source;
if (trayicon_prefs.close_to_tray) {
- MainWindow *mainwin = mainwindow_get_mainwindow();
+ MainWindow *mainwin = mainwindow_get_mainwindow();
*close_allowed = FALSE;
- if (GTK_WIDGET_VISIBLE(GTK_WIDGET(mainwin->window)))
- main_window_hide(mainwin);
- }
+ focused_widget = gtk_window_get_focus(GTK_WINDOW(mainwin->window));
+
+ if (GTK_WIDGET_VISIBLE(GTK_WIDGET(mainwin->window)))
+ main_window_hide(mainwin);
+ }
}
return FALSE;
}
if (trayicon_prefs.hide_when_iconified
&& GTK_WIDGET_VISIBLE(GTK_WIDGET(mainwin->window))
&& !gtk_window_get_skip_taskbar_hint(GTK_WINDOW(mainwin->window))) {
+ focused_widget = gtk_window_get_focus(GTK_WINDOW(mainwin->window));
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(mainwin->window), TRUE);
}
return FALSE;
gtk_window_set_skip_taskbar_hint(GTK_WINDOW(mainwin->window), FALSE);
main_window_show(mainwin);
gtk_window_present(GTK_WINDOW(mainwin->window));
+ gtk_window_set_focus(GTK_WINDOW(mainwin->window), focused_widget);
} else {
+ focused_widget = gtk_window_get_focus(GTK_WINDOW(mainwin->window));
main_window_hide(mainwin);
}
} else {
main_window_show(mainwin);
gtk_window_present(GTK_WINDOW(mainwin->window));
fix_folderview_scroll(mainwin);
+ gtk_window_set_focus(GTK_WINDOW(mainwin->window), focused_widget);
}
break;
case 3: