diff options
Diffstat (limited to 'multiload/src/properties.c')
-rw-r--r-- | multiload/src/properties.c | 686 |
1 files changed, 686 insertions, 0 deletions
diff --git a/multiload/src/properties.c b/multiload/src/properties.c new file mode 100644 index 00000000..e776b7b8 --- /dev/null +++ b/multiload/src/properties.c @@ -0,0 +1,686 @@ +/* MATE cpuload/memload panel applet + * (C) 2002 The Free Software Foundation + * + * Authors: + * Todd Kulesza + * + * + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <string.h> + +#include <gtk/gtk.h> + +#include <gio/gio.h> +#include <mate-panel-applet.h> +#include <mate-panel-applet-gsettings.h> + +#include "global.h" + +#define NEVER_SENSITIVE "never_sensitive" + +/* set sensitive and setup NEVER_SENSITIVE appropriately */ +static void +hard_set_sensitive (GtkWidget *w, gboolean sensitivity) +{ + gtk_widget_set_sensitive (w, sensitivity); + g_object_set_data (G_OBJECT (w), NEVER_SENSITIVE, + GINT_TO_POINTER ( ! sensitivity)); +} + +/* set sensitive, but always insensitive if NEVER_SENSITIVE is set */ +static void +soft_set_sensitive (GtkWidget *w, gboolean sensitivity) +{ + if (g_object_get_data (G_OBJECT (w), NEVER_SENSITIVE)) + gtk_widget_set_sensitive (w, FALSE); + else + gtk_widget_set_sensitive (w, sensitivity); +} + +static void +properties_set_insensitive(MultiloadApplet *ma) +{ + guint total_graphs = 0; + guint last_graph = 0; + guint i; + + for (i = 0; i < graph_n; i++) + if (ma->graphs[i]->visible) + { + last_graph = i; + total_graphs++; + } + + if (total_graphs < 2) + soft_set_sensitive (ma->check_boxes[last_graph], FALSE); +} + +static void +on_properties_dialog_response (GtkWidget *widget, + gint arg, + MultiloadApplet *ma) +{ + GError *error = NULL; + + switch (arg) { + case GTK_RESPONSE_HELP: + + gtk_show_uri_on_window (NULL, + "help:mate-multiload/multiload-prefs", + gtk_get_current_event_time (), + &error); + + if (error) { /* FIXME: the user needs to see this */ + g_warning ("help error: %s\n", error->message); + g_error_free (error); + } + break; + + case GTK_RESPONSE_CLOSE: + default: + gtk_widget_destroy (widget); + ma->prop_dialog = NULL; + } +} + +static void +on_speed_spin_button_value_changed (GtkSpinButton *spin_button, + gpointer user_data) +{ + MultiloadApplet *ma = user_data; + gint value; + guint i; + + value = gtk_spin_button_get_value_as_int (spin_button); + g_settings_set_uint (ma->settings, REFRESH_RATE_KEY, (guint) value); + for (i = 0; i < graph_n; i++) { + load_graph_stop (ma->graphs[i]); + ma->graphs[i]->speed = (guint) value; + if (ma->graphs[i]->visible) + load_graph_start (ma->graphs[i]); + } +} + +static void +on_graph_size_spin_button_value_changed (GtkSpinButton *spin_button, + gpointer user_data) +{ + MultiloadApplet *ma = user_data; + gint value; + guint i; + + value = gtk_spin_button_get_value_as_int (spin_button); + g_settings_set_uint (ma->settings, GRAPH_SIZE_KEY, (guint) value); + for (i = 0; i < graph_n; i++) { + ma->graphs[i]->size = (guint) value; + if (ma->graphs[i]->orient) { + gtk_widget_set_size_request (ma->graphs[i]->main_widget, + (gint) ma->graphs[i]->pixel_size, + (gint) ma->graphs[i]->size); + } else { + gtk_widget_set_size_request (ma->graphs[i]->main_widget, + (gint) ma->graphs[i]->size, + (gint) ma->graphs[i]->pixel_size); + } + } +} + +static void +on_net_threshold1_spin_button_value_changed (GtkSpinButton *spin_button, + gpointer user_data) +{ + MultiloadApplet *ma = user_data; + gdouble temp; + + temp = gtk_spin_button_get_value (spin_button); + ma->net_threshold1 = (guint64) temp; + if (ma->net_threshold1 >= ma->net_threshold2) { + ma->net_threshold1 = ma->net_threshold2 - 1; + gtk_spin_button_set_value (spin_button, (gdouble) ma->net_threshold1); + } + g_settings_set_uint64 (ma->settings, KEY_NET_THRESHOLD1, ma->net_threshold1); +} + +static void +on_net_threshold2_spin_button_value_changed (GtkSpinButton *spin_button, + gpointer user_data) +{ + MultiloadApplet *ma = user_data; + gdouble temp; + + temp = gtk_spin_button_get_value (spin_button); + ma->net_threshold2 = (guint64) temp; + if (ma->net_threshold2 >= ma->net_threshold3) { + ma->net_threshold2 = ma->net_threshold3 - 1; + gtk_spin_button_set_value (spin_button, (gdouble) ma->net_threshold2); + } else if (ma->net_threshold2 <= ma->net_threshold1) { + ma->net_threshold2 = ma->net_threshold1 + 1; + gtk_spin_button_set_value (spin_button, (gdouble) ma->net_threshold2); + } + g_settings_set_uint64 (ma->settings, KEY_NET_THRESHOLD2, ma->net_threshold2); +} + +static void +on_net_threshold3_spin_button_value_changed (GtkSpinButton *spin_button, + gpointer user_data) +{ + MultiloadApplet *ma = user_data; + gdouble temp; + + temp = gtk_spin_button_get_value (spin_button); + ma->net_threshold3 = (guint64) temp; + if (ma->net_threshold3 <= ma->net_threshold2) { + ma->net_threshold3 = ma->net_threshold2 + 1; + gtk_spin_button_set_value (spin_button, (gdouble) ma->net_threshold3); + } + g_settings_set_uint64 (ma->settings, KEY_NET_THRESHOLD3, ma->net_threshold3); +} + +static void +color_button_set (GtkColorChooser *button, + GSettings *settings, + const char *key, + GdkRGBA *color) +{ + gchar *color_string; + + gtk_color_chooser_get_rgba (button, color); + color_string = gdk_rgba_to_string (color); + g_settings_set_string (settings, key, color_string); + g_free (color_string); +} + +static void +on_cpuload_usr_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_CPULOAD_USR_COLOR, + &(ma->graphs[graph_cpuload]->colors[cpuload_usr])); +} + +static void +on_cpuload_sys_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_CPULOAD_SYS_COLOR, + &(ma->graphs[graph_cpuload]->colors[cpuload_sys])); +} + +static void +on_cpuload_nice_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_CPULOAD_NICE_COLOR, + &(ma->graphs[graph_cpuload]->colors[cpuload_nice])); +} + +static void +on_cpuload_iowait_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_CPULOAD_IOWAIT_COLOR, + &(ma->graphs[graph_cpuload]->colors[cpuload_iowait])); +} + +static void +on_cpuload_free_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_CPULOAD_IDLE_COLOR, + &(ma->graphs[graph_cpuload]->colors[cpuload_free])); +} + +static void +on_memload_user_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_MEMLOAD_USER_COLOR, + &(ma->graphs[graph_memload]->colors[memload_user])); +} + +static void +on_memload_shared_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_MEMLOAD_SHARED_COLOR, + &(ma->graphs[graph_memload]->colors[memload_shared])); +} + +static void +on_memload_buffer_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_MEMLOAD_BUFFER_COLOR, + &(ma->graphs[graph_memload]->colors[memload_buffer])); +} + +static void +on_memload_cached_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_MEMLOAD_CACHED_COLOR, + &(ma->graphs[graph_memload]->colors[memload_cached])); +} + +static void +on_memload_free_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_MEMLOAD_FREE_COLOR, + &(ma->graphs[graph_memload]->colors[memload_free])); +} + +static void +on_netload2_in_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_NETLOAD2_IN_COLOR, + &(ma->graphs[graph_netload2]->colors[netload2_in])); +} + +static void +on_netload2_out_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_NETLOAD2_OUT_COLOR, + &(ma->graphs[graph_netload2]->colors[netload2_out])); +} + +static void +on_netload2_loopback_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_NETLOAD2_LOOPBACK_COLOR, + &(ma->graphs[graph_netload2]->colors[netload2_loopback])); +} + +static void +on_netload2_background_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_NETLOAD2_BACKGROUND_COLOR, + &(ma->graphs[graph_netload2]->colors[netload2_background])); +} + +static void +on_netload2_gridline_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_NETLOAD2_GRIDLINE_COLOR, + &(ma->graphs[graph_netload2]->colors[netload2_gridline])); +} + +static void +on_netload2_indicator_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_NETLOAD2_INDICATOR_COLOR, + &(ma->graphs[graph_netload2]->colors[netload2_indicator])); +} + +static void +on_swapload_used_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_SWAPLOAD_USED_COLOR, + &(ma->graphs[graph_swapload]->colors[swapload_used])); +} + +static void +on_swapload_free_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_SWAPLOAD_FREE_COLOR, + &(ma->graphs[graph_swapload]->colors[swapload_free])); +} + +static void +on_loadavg_average_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_LOADAVG_AVERAGE_COLOR, + &(ma->graphs[graph_loadavg]->colors[loadavg_average])); +} + +static void +on_loadavg_background_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_LOADAVG_BACKGROUND_COLOR, + &(ma->graphs[graph_loadavg]->colors[loadavg_background])); +} + +static void +on_loadavg_gridline_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_LOADAVG_GRIDLINE_COLOR, + &(ma->graphs[graph_loadavg]->colors[loadavg_gridline])); +} + +static void +on_diskload_read_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_DISKLOAD_READ_COLOR, + &(ma->graphs[graph_diskload]->colors[diskload_read])); +} + +static void +on_diskload_write_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_DISKLOAD_WRITE_COLOR, + &(ma->graphs[graph_diskload]->colors[diskload_write])); +} + +static void +on_diskload_free_color_button_color_set (GtkColorButton *button, + MultiloadApplet *ma) +{ + color_button_set (GTK_COLOR_CHOOSER (button), + ma->settings, KEY_DISKLOAD_FREE_COLOR, + &(ma->graphs[graph_diskload]->colors[diskload_free])); +} + +static void +graph_set_active (MultiloadApplet *ma, + LoadGraph *graph, + gboolean active) +{ + graph->visible = active; + if (active) { + guint i; + + for (i = 0; i < graph_n; i++) + soft_set_sensitive(ma->check_boxes[i], TRUE); + gtk_widget_show_all (graph->main_widget); + load_graph_start (graph); + } else { + load_graph_stop (graph); + gtk_widget_hide (graph->main_widget); + properties_set_insensitive (ma); + } +} + +#define GRAPH_ACTIVE_SET(x) graph_set_active (ma, ma->graphs[(x)], \ + gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbox))) + +static void +on_graph_cpuload_checkbox_toggled (GtkCheckButton *checkbox, + MultiloadApplet *ma) +{ + GRAPH_ACTIVE_SET (graph_cpuload); +} + +static void +on_graph_memload_checkbox_toggled (GtkCheckButton *checkbox, + MultiloadApplet *ma) +{ + GRAPH_ACTIVE_SET (graph_memload); +} + +static void +on_graph_netload2_checkbox_toggled (GtkCheckButton *checkbox, + MultiloadApplet *ma) +{ + GRAPH_ACTIVE_SET (graph_netload2); +} + +static void +on_graph_swapload_checkbox_toggled (GtkCheckButton *checkbox, + MultiloadApplet *ma) +{ + GRAPH_ACTIVE_SET (graph_swapload); +} + +static void +on_graph_loadavg_checkbox_toggled (GtkCheckButton *checkbox, + MultiloadApplet *ma) +{ + GRAPH_ACTIVE_SET (graph_loadavg); +} + +static void +on_graph_diskload_checkbox_toggled (GtkCheckButton *checkbox, + MultiloadApplet *ma) +{ + GRAPH_ACTIVE_SET (graph_diskload); +} + +/* save the checkbox option to gsettings and apply it on the applet */ +static void +on_nvme_checkbox_toggled (GtkCheckButton *checkbox, + MultiloadApplet *ma) +{ + ma->nvme_diskstats = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbox)); +} + +static void +read_spin_uint_button (GtkWidget *widget, + GSettings *settings, + const char *key, + guint min, + guint max) +{ + guint value; + + value = CLAMP (g_settings_get_uint (settings, key), min, max); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), (gdouble) value); + if (!g_settings_is_writable (settings, key)) + hard_set_sensitive (widget, FALSE); +} + +static void +read_spin_uint64_button (GtkWidget *widget, + GSettings *settings, + const char *key, + guint min, + guint max) +{ + guint64 value; + + value = CLAMP (g_settings_get_uint64 (settings, key), min, max); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), (gdouble) value); + + if (!g_settings_is_writable (settings, key)) + hard_set_sensitive (widget, FALSE); +} + +static void +read_color_button (GtkWidget *widget, + GSettings *settings, + const char *key) +{ + GdkRGBA color; + gchar *color_string; + + color_string = g_settings_get_string (settings, key); + if (*color_string != '\0') { + gdk_rgba_parse (&color, color_string); + } else { + gdk_rgba_parse (&color, "#000000"); + } + g_free (color_string); + gtk_color_chooser_set_rgba (GTK_COLOR_CHOOSER (widget), &color); + + if (!g_settings_is_writable (settings, key)) + hard_set_sensitive (widget, FALSE); +} + +/* show properties dialog */ +void +multiload_properties_cb (GtkAction *action, + MultiloadApplet *ma) +{ + GtkBuilder *builder; + GtkWidget *dialog = NULL; + GtkWidget *graph_size_spin_button_label; + const char *graph_size_spin_button_label_txt; + MatePanelAppletOrient orient; + + if (ma->prop_dialog) { + dialog = ma->prop_dialog; + + gtk_window_set_screen (GTK_WINDOW (dialog), + gtk_widget_get_screen (GTK_WIDGET (ma->applet))); + + gtk_notebook_set_current_page (GTK_NOTEBOOK (ma->notebook), + ma->last_clicked); + gtk_window_present (GTK_WINDOW (dialog)); + return; + } + + builder = gtk_builder_new_from_resource (MULTILOAD_RESOURCE_PATH "properties.ui"); + gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE); + + #define GET_WIDGET(x) (GTK_WIDGET (gtk_builder_get_object (builder, (x)))) + + ma->prop_dialog = GET_WIDGET ("properties_dialog"); + + read_color_button (GET_WIDGET ("cpuload_free_color_button"), ma->settings, KEY_CPULOAD_IDLE_COLOR); + read_color_button (GET_WIDGET ("cpuload_iowait_color_button"), ma->settings, KEY_CPULOAD_IOWAIT_COLOR); + read_color_button (GET_WIDGET ("cpuload_nice_color_button"), ma->settings, KEY_CPULOAD_NICE_COLOR); + read_color_button (GET_WIDGET ("cpuload_sys_color_button"), ma->settings, KEY_CPULOAD_SYS_COLOR); + read_color_button (GET_WIDGET ("cpuload_usr_color_button"), ma->settings, KEY_CPULOAD_USR_COLOR); + read_color_button (GET_WIDGET ("diskload_free_color_button"), ma->settings, KEY_DISKLOAD_FREE_COLOR); + read_color_button (GET_WIDGET ("diskload_read_color_button"), ma->settings, KEY_DISKLOAD_READ_COLOR); + read_color_button (GET_WIDGET ("diskload_write_color_button"), ma->settings, KEY_DISKLOAD_WRITE_COLOR); + read_color_button (GET_WIDGET ("loadavg_average_color_button"), ma->settings, KEY_LOADAVG_AVERAGE_COLOR); + read_color_button (GET_WIDGET ("loadavg_background_color_button"), ma->settings, KEY_LOADAVG_BACKGROUND_COLOR); + read_color_button (GET_WIDGET ("loadavg_gridline_color_button"), ma->settings, KEY_LOADAVG_GRIDLINE_COLOR); + read_color_button (GET_WIDGET ("memload_buffer_color_button"), ma->settings, KEY_MEMLOAD_BUFFER_COLOR); + read_color_button (GET_WIDGET ("memload_cached_color_button"), ma->settings, KEY_MEMLOAD_CACHED_COLOR); + read_color_button (GET_WIDGET ("memload_free_color_button"), ma->settings, KEY_MEMLOAD_FREE_COLOR); + read_color_button (GET_WIDGET ("memload_shared_color_button"), ma->settings, KEY_MEMLOAD_SHARED_COLOR); + read_color_button (GET_WIDGET ("memload_user_color_button"), ma->settings, KEY_MEMLOAD_USER_COLOR); + read_color_button (GET_WIDGET ("netload2_background_color_button"), ma->settings, KEY_NETLOAD2_BACKGROUND_COLOR); + read_color_button (GET_WIDGET ("netload2_gridline_color_button"), ma->settings, KEY_NETLOAD2_GRIDLINE_COLOR); + read_color_button (GET_WIDGET ("netload2_in_color_button"), ma->settings, KEY_NETLOAD2_IN_COLOR); + read_color_button (GET_WIDGET ("netload2_indicator_color_button"), ma->settings, KEY_NETLOAD2_INDICATOR_COLOR); + read_color_button (GET_WIDGET ("netload2_loopback_color_button"), ma->settings, KEY_NETLOAD2_LOOPBACK_COLOR); + read_color_button (GET_WIDGET ("netload2_out_color_button"), ma->settings, KEY_NETLOAD2_OUT_COLOR); + read_color_button (GET_WIDGET ("swapload_free_color_button"), ma->settings, KEY_SWAPLOAD_FREE_COLOR); + read_color_button (GET_WIDGET ("swapload_used_color_button"), ma->settings, KEY_SWAPLOAD_USED_COLOR); + + graph_size_spin_button_label = GET_WIDGET ("graph_size_spin_button_label"); + orient = mate_panel_applet_get_orient(ma->applet); + switch (orient) { + case MATE_PANEL_APPLET_ORIENT_UP: + case MATE_PANEL_APPLET_ORIENT_DOWN: + graph_size_spin_button_label_txt = _("System m_onitor width:"); + break; + default: + graph_size_spin_button_label_txt = _("System m_onitor height:"); + } + gtk_label_set_text_with_mnemonic (GTK_LABEL (graph_size_spin_button_label), graph_size_spin_button_label_txt); + + read_spin_uint_button (GET_WIDGET ("graph_size_spin_button"), ma->settings, GRAPH_SIZE_KEY, GRAPH_SIZE_MIN, GRAPH_SIZE_MAX); + read_spin_uint_button (GET_WIDGET ("speed_spin_button"), ma->settings, REFRESH_RATE_KEY, REFRESH_RATE_MIN, REFRESH_RATE_MAX); + + read_spin_uint64_button (GET_WIDGET ("net_threshold1_spin_button"), ma->settings, KEY_NET_THRESHOLD1, MIN_NET_THRESHOLD1, MAX_NET_THRESHOLD1); + read_spin_uint64_button (GET_WIDGET ("net_threshold2_spin_button"), ma->settings, KEY_NET_THRESHOLD2, MIN_NET_THRESHOLD2, MAX_NET_THRESHOLD2); + read_spin_uint64_button (GET_WIDGET ("net_threshold3_spin_button"), ma->settings, KEY_NET_THRESHOLD3, MIN_NET_THRESHOLD3, MAX_NET_THRESHOLD3); + + ma->notebook = GET_WIDGET ("notebook"); + + ma->check_boxes[graph_cpuload] = GET_WIDGET ("graph_cpuload_checkbox"); + ma->check_boxes[graph_memload] = GET_WIDGET ("graph_memload_checkbox"); + ma->check_boxes[graph_netload2] = GET_WIDGET ("graph_netload2_checkbox"); + ma->check_boxes[graph_swapload] = GET_WIDGET ("graph_swapload_checkbox"); + ma->check_boxes[graph_loadavg] = GET_WIDGET ("graph_loadavg_checkbox"); + ma->check_boxes[graph_diskload] = GET_WIDGET ("graph_diskload_checkbox"); + + g_settings_bind (ma->settings, VIEW_CPULOAD_KEY, ma->check_boxes[graph_cpuload], "active", G_SETTINGS_BIND_DEFAULT); + g_settings_bind (ma->settings, VIEW_MEMLOAD_KEY, ma->check_boxes[graph_memload], "active", G_SETTINGS_BIND_DEFAULT); + g_settings_bind (ma->settings, VIEW_NETLOAD_KEY, ma->check_boxes[graph_netload2], "active", G_SETTINGS_BIND_DEFAULT); + g_settings_bind (ma->settings, VIEW_SWAPLOAD_KEY, ma->check_boxes[graph_swapload], "active", G_SETTINGS_BIND_DEFAULT); + g_settings_bind (ma->settings, VIEW_LOADAVG_KEY, ma->check_boxes[graph_loadavg], "active", G_SETTINGS_BIND_DEFAULT); + g_settings_bind (ma->settings, VIEW_DISKLOAD_KEY, ma->check_boxes[graph_diskload], "active", G_SETTINGS_BIND_DEFAULT); + + g_settings_bind (ma->settings, DISKLOAD_NVME_KEY, GET_WIDGET ("nvme_checkbox"), "active", G_SETTINGS_BIND_DEFAULT); + + #undef GET_WIDGET + + properties_set_insensitive (ma); + + gtk_builder_add_callback_symbols (builder, + "on_cpuload_usr_color_button_color_set", G_CALLBACK (on_cpuload_usr_color_button_color_set), + "on_cpuload_sys_color_button_color_set", G_CALLBACK (on_cpuload_sys_color_button_color_set), + "on_cpuload_nice_color_button_color_set", G_CALLBACK (on_cpuload_nice_color_button_color_set), + "on_cpuload_iowait_color_button_color_set", G_CALLBACK (on_cpuload_iowait_color_button_color_set), + "on_cpuload_free_color_button_color_set", G_CALLBACK (on_cpuload_free_color_button_color_set), + "on_memload_user_color_button_color_set", G_CALLBACK (on_memload_user_color_button_color_set), + "on_memload_shared_color_button_color_set", G_CALLBACK (on_memload_shared_color_button_color_set), + "on_memload_buffer_color_button_color_set", G_CALLBACK (on_memload_buffer_color_button_color_set), + "on_memload_cached_color_button_color_set", G_CALLBACK (on_memload_cached_color_button_color_set), + "on_memload_free_color_button_color_set", G_CALLBACK (on_memload_free_color_button_color_set), + "on_netload2_in_color_button_color_set", G_CALLBACK (on_netload2_in_color_button_color_set), + "on_netload2_out_color_button_color_set", G_CALLBACK (on_netload2_out_color_button_color_set), + "on_netload2_loopback_color_button_color_set", G_CALLBACK (on_netload2_loopback_color_button_color_set), + "on_netload2_background_color_button_color_set", G_CALLBACK (on_netload2_background_color_button_color_set), + "on_netload2_gridline_color_button_color_set", G_CALLBACK (on_netload2_gridline_color_button_color_set), + "on_netload2_indicator_color_button_color_set", G_CALLBACK (on_netload2_indicator_color_button_color_set), + "on_swapload_used_color_button_color_set", G_CALLBACK (on_swapload_used_color_button_color_set), + "on_swapload_free_color_button_color_set", G_CALLBACK (on_swapload_free_color_button_color_set), + "on_loadavg_average_color_button_color_set", G_CALLBACK (on_loadavg_average_color_button_color_set), + "on_loadavg_background_color_button_color_set", G_CALLBACK (on_loadavg_background_color_button_color_set), + "on_loadavg_gridline_color_button_color_set", G_CALLBACK (on_loadavg_gridline_color_button_color_set), + "on_diskload_read_color_button_color_set", G_CALLBACK (on_diskload_read_color_button_color_set), + "on_diskload_write_color_button_color_set", G_CALLBACK (on_diskload_write_color_button_color_set), + "on_diskload_free_color_button_color_set", G_CALLBACK (on_diskload_free_color_button_color_set), + "on_properties_dialog_response", G_CALLBACK (on_properties_dialog_response), + "on_graph_cpuload_checkbox_toggled", G_CALLBACK (on_graph_cpuload_checkbox_toggled), + "on_graph_memload_checkbox_toggled", G_CALLBACK (on_graph_memload_checkbox_toggled), + "on_graph_netload2_checkbox_toggled", G_CALLBACK (on_graph_netload2_checkbox_toggled), + "on_graph_swapload_checkbox_toggled", G_CALLBACK (on_graph_swapload_checkbox_toggled), + "on_graph_loadavg_checkbox_toggled", G_CALLBACK (on_graph_loadavg_checkbox_toggled), + "on_graph_diskload_checkbox_toggled", G_CALLBACK (on_graph_diskload_checkbox_toggled), + "on_nvme_checkbox_toggled", G_CALLBACK (on_nvme_checkbox_toggled), + "on_graph_size_spin_button_value_changed", G_CALLBACK (on_graph_size_spin_button_value_changed), + "on_speed_spin_button_value_changed", G_CALLBACK (on_speed_spin_button_value_changed), + "on_net_threshold1_spin_button_value_changed", G_CALLBACK (on_net_threshold1_spin_button_value_changed), + "on_net_threshold2_spin_button_value_changed", G_CALLBACK (on_net_threshold2_spin_button_value_changed), + "on_net_threshold3_spin_button_value_changed", G_CALLBACK (on_net_threshold3_spin_button_value_changed), + NULL); + + gtk_builder_connect_signals (builder, ma); + + g_object_unref (builder); + + gtk_window_set_screen (GTK_WINDOW (ma->prop_dialog), + gtk_widget_get_screen (GTK_WIDGET (ma->applet))); + + gtk_widget_show_all (ma->prop_dialog); + + gtk_notebook_set_current_page (GTK_NOTEBOOK (ma->notebook), + ma->last_clicked); +} |