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:
static void app_exit_cb(MainWindow *mainwin, guint action, GtkWidget *widget)
{
+ if (prefs_common.clean_on_exit) {
+ if (!main_window_empty_trash(mainwin, prefs_common.ask_on_clean, TRUE))
+ return;
+ }
+
if (prefs_common.confirm_on_exit) {
if (alertpanel(_("Exit"), _("Exit Claws Mail?"),
GTK_STOCK_CANCEL, GTK_STOCK_OK,