+}
+
+static void slog_enabled_cbk(void *data)
+{
+ struct ui_psensor *ui;
+ struct psensor **sensors;
+ pthread_mutex_t *mutex;
+
+ ui = (struct ui_psensor *)data;
+ sensors = ui->sensors;
+ mutex = &ui->sensors_mutex;
+
+ log_debug("slog_enabled_cbk");
+
+ if (is_slog_enabled())
+ slog_activate(NULL, sensors, mutex, config_get_slog_interval());
+ else
+ slog_close();
+}
+
+void ui_window_create(struct ui_psensor *ui)
+{
+ GtkWidget *window;
+ GdkPixbuf *icon;
+ GtkIconTheme *icon_theme;
+ struct config *cfg;
+ guint ok;
+ GtkBuilder *builder;
+ GError *error;
+
+ builder = gtk_builder_new();
+
+ error = NULL;
+ ok = gtk_builder_add_from_file
+ (builder,
+ PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "psensor.glade",
+ &error);
+
+ if (!ok) {
+ log_printf(LOG_ERR, error->message);
+ g_error_free(error);
+ return;
+ }
+
+ window = GTK_WIDGET(gtk_builder_get_object(builder, "window"));
+ gtk_builder_connect_signals(builder, ui);
+ cfg = ui->config;
+ if (cfg->window_restore_enabled)
+ gtk_window_move(GTK_WINDOW(window),
+ cfg->window_x,
+ cfg->window_y);
+
+ config_set_slog_enabled_changed_cbk(slog_enabled_cbk, ui);
+
+ gtk_window_set_default_size(GTK_WINDOW(window),
+ cfg->window_w,
+ cfg->window_h);