X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fui.c;h=9476deeacfa8638e2e1c20790d64be92124274bd;hb=8ddc118263514e38cc4b7bed661464d2f318e0b4;hp=1590cea8e488233632992dc35e81e59dcdc5da05;hpb=10a53263738b59c82199afcd3251ddf60ea23a8f;p=psensor.git diff --git a/src/ui.c b/src/ui.c index 1590cea..9476dee 100644 --- a/src/ui.c +++ b/src/ui.c @@ -23,15 +23,23 @@ #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; @@ -61,7 +69,7 @@ static void cb_about(GtkMenuItem *mi, gpointer data) 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) @@ -77,8 +85,9 @@ static void cb_sensor_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(); }