return !get_bool(KEY_INTERFACE_WINDOW_DECORATION_DISABLED);
}
-static bool is_window_keep_below_enabled(void)
+bool config_is_window_keep_below_enabled(void)
{
return get_bool(KEY_INTERFACE_WINDOW_KEEP_BELOW_ENABLED);
}
set_bool(KEY_INTERFACE_WINDOW_DECORATION_DISABLED, !enabled);
}
-static void set_window_keep_below_enabled(bool enabled)
+void config_set_window_keep_below_enabled(bool enabled)
{
set_bool(KEY_INTERFACE_WINDOW_KEEP_BELOW_ENABLED, enabled);
}
c->graph_bg_alpha = get_graph_background_alpha();
c->alpha_channel_enabled = is_alpha_channel_enabled();
c->sensorlist_position = get_sensorlist_position();
- c->window_keep_below_enabled = is_window_keep_below_enabled();
c->slog_enabled = is_slog_enabled();
c->slog_interval = config_get_slog_interval();
set_foreground_color(c->graph_fgcolor);
set_graph_background_alpha(c->graph_bg_alpha);
set_sensorlist_position(c->sensorlist_position);
- set_window_keep_below_enabled(c->window_keep_below_enabled);
set_slog_enabled(c->slog_enabled);
set_slog_interval(c->slog_interval);
/* Position of the sensors list table */
enum sensorlist_position sensorlist_position;
- bool window_keep_below_enabled;
bool window_restore_enabled;
/* Last saved position of the window. */
int window_x;
bool config_is_window_decoration_enabled(void);
void config_set_window_decoration_enabled(bool);
+bool config_is_window_keep_below_enabled(void);
+void config_set_window_keep_below_enabled(bool);
+
/*
* Returns the user directory containing psensor data (configuration
* and log).
<property name="margin_bottom">4</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
+ <signal name="toggled" handler="ui_pref_keep_below_toggled_cbk" swapped="no"/>
</object>
<packing>
<property name="left_attach">0</property>
gtk_window_set_decorated(win, config_is_window_decoration_enabled());
}
+static void set_keep_below(GtkWindow *win)
+{
+ gtk_window_set_keep_below(win, config_is_window_keep_below_enabled());
+}
+
static void
decoration_changed_cbk(GSettings *settings, gchar *key, gpointer data)
{
set_decoration((GtkWindow *)data);
}
+static void
+keep_below_changed_cbk(GSettings *settings, gchar *key, gpointer data)
+{
+ set_keep_below((GtkWindow *)data);
+}
+
static void connect_cbks(GtkWindow *win)
{
log_fct_enter();
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);
+
log_fct_exit();
}
"delete_event", G_CALLBACK(on_delete_event_cb), ui);
set_decoration(GTK_WINDOW(window));
-
- gtk_window_set_keep_below(GTK_WINDOW(window),
- cfg->window_keep_below_enabled);
+ set_keep_below(GTK_WINDOW(window));
ui->menu_bar = GTK_WIDGET(gtk_builder_get_object(builder, "menu_bar"));
ui->main_box = GTK_WIDGET(gtk_builder_get_object(builder, "main_box"));
(!config_is_window_decoration_enabled());
}
+void ui_pref_keep_below_toggled_cbk(GtkToggleButton *btn, gpointer data)
+{
+ config_set_window_keep_below_enabled
+ (!config_is_window_keep_below_enabled());
+}
+
GdkRGBA color_to_GdkRGBA(struct color *color)
{
GdkRGBA c;
GtkSpinButton *w_update_interval, *w_monitoring_duration,
*w_s_update_interval, *w_slog_interval;
GtkComboBox *w_sensorlist_pos;
- GtkToggleButton *w_hide_window_decoration, *w_keep_window_below,
+ GtkToggleButton
*w_enable_menu, *w_enable_launcher_counter, *w_hide_on_startup,
*w_win_restore, *w_slog_enabled, *w_autostart, *w_smooth_curves,
*w_atiadlsdk, *w_lmsensors, *w_nvctrl, *w_gtop2, *w_hddtemp,
(gtk_builder_get_object(builder, "sensors_list_position"));
gtk_combo_box_set_active(w_sensorlist_pos, cfg->sensorlist_position);
- w_hide_window_decoration = GTK_TOGGLE_BUTTON
- (gtk_builder_get_object(builder, "hide_window_decoration"));
- gtk_toggle_button_set_active(w_hide_window_decoration,
- !config_is_window_decoration_enabled());
-
- w_keep_window_below = GTK_TOGGLE_BUTTON
- (gtk_builder_get_object(builder, "keep_window_below"));
- gtk_toggle_button_set_active(w_keep_window_below,
- cfg->window_keep_below_enabled);
-
w_autostart = GTK_TOGGLE_BUTTON
(gtk_builder_get_object(builder, "autostart"));
gtk_toggle_button_set_active(w_autostart, pxdg_is_autostarted());
cfg->sensorlist_position
= gtk_combo_box_get_active(w_sensorlist_pos);
- cfg->window_keep_below_enabled
- = gtk_toggle_button_get_active(w_keep_window_below);
-
cfg->menu_bar_disabled
= !gtk_toggle_button_get_active(w_enable_menu);
= !gtk_toggle_button_get_active
(w_enable_launcher_counter);
- gtk_window_set_keep_below(GTK_WINDOW(ui->main_window),
- cfg->window_keep_below_enabled);
-
cfg->sensor_update_interval
= gtk_spin_button_get_value_as_int(w_s_update_interval);
GdkRGBA color_to_GdkRGBA(struct color *color);
void ui_pref_decoration_toggled_cbk(GtkToggleButton *, gpointer);
+void ui_pref_keep_below_toggled_cbk(GtkToggleButton *, gpointer);
#endif