+static void
+menu_bar_changed_cbk(GSettings *settings, gchar *key, gpointer data)
+{
+ set_menu_bar_enabled(GTK_WIDGET(data));
+}
+
+static void
+sensorlist_position_changed_cbk(GSettings *settings, gchar *key, gpointer data)
+{
+ update_layout();
+}
+
+static void connect_cbks(GtkWindow *win, GtkWidget *menu_bar)
+{
+ log_fct_enter();
+
+ g_signal_connect_after(config_get_GSettings(),
+ "changed::interface-window-decoration-disabled",
+ G_CALLBACK(decoration_changed_cbk),
+ win);
+
+ g_signal_connect_after(config_get_GSettings(),
+ "changed::interface-window-keep-below-enabled",
+ G_CALLBACK(keep_below_changed_cbk),
+ win);
+
+ g_signal_connect_after(config_get_GSettings(),
+ "changed::interface-menu-bar-disabled",
+ G_CALLBACK(menu_bar_changed_cbk),
+ menu_bar);
+
+ g_signal_connect_after(config_get_GSettings(),
+ "changed::interface-sensorlist-position",
+ G_CALLBACK(sensorlist_position_changed_cbk),
+ menu_bar);
+
+
+ log_fct_exit();
+}
+
+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(w_sensor_box));
+
+ config_save(cfg);
+ }
+}
+
+static gboolean
+on_delete_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data)