+#include "ui_status.h"
+#include "ui_appindicator.h"
+
+static void save_window_pos(struct ui_psensor *ui)
+{
+ gboolean visible;
+ GtkWindow *win;
+ struct config *cfg;
+
+ visible = gtk_widget_get_visible(ui->main_window);
+ log_debug("Window visible: %d", visible);
+
+ if (visible == TRUE) {
+ cfg = ui->config;
+
+ win = GTK_WINDOW(ui->main_window);
+
+ gtk_window_get_position(win, &cfg->window_x, &cfg->window_y);
+ log_debug("Window position: %d %d",
+ cfg->window_x,
+ cfg->window_y);
+
+ gtk_window_get_size(win,
+ &cfg->window_w,
+ &cfg->window_h);
+ log_debug("Window size: %d %d", cfg->window_w, cfg->window_h);
+
+ cfg->window_divider_pos
+ = gtk_paned_get_position(GTK_PANED(ui->sensor_box));
+
+ config_save(cfg);
+ }
+}
+
+static gboolean
+on_delete_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data)
+{
+ struct ui_psensor *ui = data;
+
+ save_window_pos(ui);
+
+ log_debug("is_status_supported: %d\n", is_status_supported());
+
+ if (is_appindicator_supported() || is_status_supported())
+ gtk_widget_hide(ui->main_window);
+ else
+ ui_psensor_quit(ui);