#include "ui_pref.h"
#include "ui_sensorpref.h"
#include "ui_sensorlist.h"
+#include "ui_appindicator.h"
static gboolean
on_delete_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data)
{
+ struct ui_psensor *ui = data;
#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029)
- gtk_widget_hide(((struct ui_psensor *)data)->main_window);
+ if (is_appindicator_supported()) {
+ log_puts(LOG_DEBUG, "hiding, WM is supporting appindicator");
+ gtk_widget_hide(ui->main_window);
+ } else {
+ log_puts(LOG_DEBUG, "quitting, WM not supporting appindicator");
+ ui_psensor_quit(ui);
+ }
#else
- ui_psensor_quit();
+ ui_psensor_quit(ui);
#endif
return TRUE;
static void cb_menu_quit(GtkMenuItem *mi, gpointer data)
{
- ui_psensor_quit();
+ ui_psensor_quit((struct ui_psensor *)data);
}
static void cb_preferences(GtkMenuItem *mi, gpointer data)
ui_sensorpref_dialog_run(*ui->sensors, ui);
}
-void ui_psensor_quit()
+void ui_psensor_quit(struct ui_psensor *ui)
{
+ gtk_widget_destroy(ui->main_window);
gtk_main_quit();
}