summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--multiload/autoscaler.c58
-rw-r--r--multiload/autoscaler.h14
-rw-r--r--multiload/load-graph.c26
-rw-r--r--multiload/load-graph.h6
-rw-r--r--multiload/main.c817
-rw-r--r--multiload/netspeed.c60
-rw-r--r--multiload/properties.c1481
7 files changed, 1233 insertions, 1229 deletions
diff --git a/multiload/autoscaler.c b/multiload/autoscaler.c
index 39eab7db..735b2713 100644
--- a/multiload/autoscaler.c
+++ b/multiload/autoscaler.c
@@ -6,46 +6,46 @@
/* i wish i could have used C99 initializers instead of writing this function */
void autoscaler_init(AutoScaler *that, unsigned interval, unsigned floor)
{
- that->update_interval = interval;
- that->floor = floor;
- that->max = 0;
- that->count = 0;
- that->last_update = 0;
- that->sum = 0.0f;
- that->last_average = 0.0f;
+ that->update_interval = interval;
+ that->floor = floor;
+ that->max = 0;
+ that->count = 0;
+ that->last_update = 0;
+ that->sum = 0.0f;
+ that->last_average = 0.0f;
}
unsigned autoscaler_get_max(AutoScaler *that, unsigned current)
{
- time_t now;
+ time_t now;
- that->sum += current;
- that->count++;
- time(&now);
+ that->sum += current;
+ that->count++;
+ time(&now);
- if((float)difftime(now, that->last_update) > that->update_interval)
- {
- float new_average = that->sum / that->count;
- float average;
+ if((float)difftime(now, that->last_update) > that->update_interval)
+ {
+ float new_average = that->sum / that->count;
+ float average;
- if(new_average < that->last_average)
- average = ((that->last_average * 0.5f) + new_average) / 1.5f;
- else
- average = new_average;
+ if(new_average < that->last_average)
+ average = ((that->last_average * 0.5f) + new_average) / 1.5f;
+ else
+ average = new_average;
- that->max = average * 1.2f;
+ that->max = average * 1.2f;
- that->sum = 0.0f;
- that->count = 0;
- that->last_update = now;
- that->last_average = average;
- }
+ that->sum = 0.0f;
+ that->count = 0;
+ that->last_update = now;
+ that->last_average = average;
+ }
- that->max = MAX(that->max, current);
- that->max = MAX(that->max, that->floor);
+ that->max = MAX(that->max, current);
+ that->max = MAX(that->max, that->floor);
#if 0
- printf("%p max = %u, current = %u, last_average = %f\n", that, that->max, current, that->last_average);
+ printf("%p max = %u, current = %u, last_average = %f\n", that, that->max, current, that->last_average);
#endif
- return that->max;
+ return that->max;
}
diff --git a/multiload/autoscaler.h b/multiload/autoscaler.h
index 11ca588b..d0ae4cd6 100644
--- a/multiload/autoscaler.h
+++ b/multiload/autoscaler.h
@@ -8,13 +8,13 @@ typedef struct _AutoScaler AutoScaler;
struct _AutoScaler
{
- /* const */ unsigned update_interval;
- /* const */ unsigned floor;
- unsigned max;
- unsigned count;
- time_t last_update;
- float sum;
- float last_average;
+ /* const */ unsigned update_interval;
+ /* const */ unsigned floor;
+ unsigned max;
+ unsigned count;
+ time_t last_update;
+ float sum;
+ float last_average;
};
diff --git a/multiload/load-graph.c b/multiload/load-graph.c
index 07a425f4..953dc5b2 100644
--- a/multiload/load-graph.c
+++ b/multiload/load-graph.c
@@ -30,17 +30,17 @@
static void
shift_right(LoadGraph *g)
{
- unsigned i;
- int* last_data;
+ unsigned i;
+ int* last_data;
- /* data[g->draw_width - 1] becomes data[0] */
- last_data = g->data[g->draw_width - 1];
+ /* data[g->draw_width - 1] becomes data[0] */
+ last_data = g->data[g->draw_width - 1];
- /* data[i+1] = data[i] */
- for(i = g->draw_width - 1; i != 0; --i)
- g->data[i] = g->data[i - 1];
+ /* data[i+1] = data[i] */
+ for(i = g->draw_width - 1; i != 0; --i)
+ g->data[i] = g->data[i - 1];
- g->data[0] = last_data;
+ g->data[0] = last_data;
}
@@ -179,7 +179,7 @@ load_graph_draw (LoadGraph *g)
/* this is Load graph */
else
{
- guint maxload = 1;
+ guint maxload = 1;
for (i = 0; i < g->draw_width; i++)
{
g->pos [i] = g->draw_height - 1;
@@ -219,7 +219,7 @@ load_graph_draw (LoadGraph *g)
spacing = ((double) g->draw_height/load) * (k+1);
cairo_move_to (cr, 0.5, spacing);
cairo_line_to (cr, g->draw_width-0.5, spacing);
- }
+ }
cairo_stroke (cr);
}
@@ -233,12 +233,12 @@ static gboolean
load_graph_update (LoadGraph *g)
{
if (g->data == NULL)
- return TRUE;
+ return TRUE;
shift_right(g);
if (g->tooltip_update)
- multiload_applet_tooltip_update(g);
+ multiload_applet_tooltip_update(g);
g->get_data (g->draw_height, g->data [0], g);
@@ -252,7 +252,7 @@ load_graph_unalloc (LoadGraph *g)
guint i;
if (!g->allocated)
- return;
+ return;
for (i = 0; i < g->draw_width; i++)
{
diff --git a/multiload/load-graph.h b/multiload/load-graph.h
index a45542c1..76effcd6 100644
--- a/multiload/load-graph.h
+++ b/multiload/load-graph.h
@@ -6,8 +6,8 @@
/* Create new load graph. */
G_GNUC_INTERNAL LoadGraph *
load_graph_new (MultiloadApplet *multiload, guint n, const gchar *label,
- guint id, guint speed, guint size, gboolean visible,
- const gchar *name, LoadGraphDataFunc get_data);
+ guint id, guint speed, guint size, gboolean visible,
+ const gchar *name, LoadGraphDataFunc get_data);
/* Start load graph. */
G_GNUC_INTERNAL void
@@ -20,5 +20,5 @@ load_graph_stop (LoadGraph *g);
/* free load graph */
G_GNUC_INTERNAL void
load_graph_unalloc (LoadGraph *g);
-
+
#endif
diff --git a/multiload/main.c b/multiload/main.c
index e0d50a31..259bf0b5 100644
--- a/multiload/main.c
+++ b/multiload/main.c
@@ -31,23 +31,23 @@
static void
about_cb (GtkAction *action,
- MultiloadApplet *ma)
+ MultiloadApplet *ma)
{
const gchar * const authors[] =
{
- "Martin Baulig <[email protected]>",
- "Todd Kulesza <[email protected]>",
- "Benoît Dejean <[email protected]>",
- "Davyd Madeley <[email protected]>",
- NULL
+ "Martin Baulig <[email protected]>",
+ "Todd Kulesza <[email protected]>",
+ "Benoît Dejean <[email protected]>",
+ "Davyd Madeley <[email protected]>",
+ NULL
};
const gchar* documenters[] =
{
- "Chee Bin HOH <[email protected]>",
- N_("Sun GNOME Documentation Team <[email protected]>"),
- N_("MATE Documentation Team"),
- NULL
+ "Chee Bin HOH <[email protected]>",
+ N_("Sun GNOME Documentation Team <[email protected]>"),
+ N_("MATE Documentation Team"),
+ NULL
};
#ifdef ENABLE_NLS
@@ -57,39 +57,36 @@ about_cb (GtkAction *action,
#endif
gtk_show_about_dialog (NULL,
- "title", _("About System Monitor"),
- "version", VERSION,
- "copyright", _("Copyright \xc2\xa9 1999-2005 Free Software Foundation and others\n"
- "Copyright \xc2\xa9 2012-2020 MATE developers"),
- "comments", _("A system load monitor capable of displaying graphs "
- "for CPU, ram, and swap space use, plus network "
- "traffic."),
- "authors", authors,
- "documenters", documenters,
- "translator-credits", _("translator-credits"),
- "logo-icon-name", "utilities-system-monitor",
- NULL);
+ "title", _("About System Monitor"),
+ "version", VERSION,
+ "copyright", _("Copyright \xc2\xa9 1999-2005 Free Software Foundation and others\n"
+ "Copyright \xc2\xa9 2012-2020 MATE developers"),
+ "comments", _("A system load monitor capable of displaying graphs "
+ "for CPU, ram, and swap space use, plus network "
+ "traffic."),
+ "authors", authors,
+ "documenters", documenters,
+ "translator-credits", _("translator-credits"),
+ "logo-icon-name", "utilities-system-monitor",
+ NULL);
}
static void
help_cb (GtkAction *action,
- MultiloadApplet *ma)
+ MultiloadApplet *ma)
{
-
- GError *error = NULL;
-
- gtk_show_uri_on_window (NULL,
- "help:mate-multiload",
- 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);
- error = NULL;
- }
-
-
+ GError *error = NULL;
+
+ gtk_show_uri_on_window (NULL,
+ "help:mate-multiload",
+ 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);
+ error = NULL;
+ }
}
/* run the full-scale system process monitor */
@@ -97,483 +94,483 @@ help_cb (GtkAction *action,
static void
start_procman (MultiloadApplet *ma)
{
- GError *error = NULL;
- GDesktopAppInfo *appinfo;
- gchar *monitor;
- GdkAppLaunchContext *launch_context;
- GdkDisplay *display;
- GAppInfo *app_info;
- GdkScreen *screen;
-
- g_return_if_fail (ma != NULL);
-
- monitor = g_settings_get_string (ma->settings, "system-monitor");
- if (monitor == NULL)
- monitor = g_strdup ("mate-system-monitor.desktop");
-
- screen = gtk_widget_get_screen (GTK_WIDGET (ma->applet));
- appinfo = g_desktop_app_info_new (monitor);
- if (appinfo) {
- GdkAppLaunchContext *context;
- display = gdk_screen_get_display (screen);
- context = gdk_display_get_app_launch_context (display);
- gdk_app_launch_context_set_screen (context, screen);
- g_app_info_launch (G_APP_INFO (appinfo), NULL, G_APP_LAUNCH_CONTEXT (context), &error);
- g_object_unref (context);
- g_object_unref (appinfo);
- }
- else {
- app_info = g_app_info_create_from_commandline ("mate-system-monitor",
- _("Start system-monitor"),
- G_APP_INFO_CREATE_NONE,
- &error);
-
- if (!error) {
- display = gdk_screen_get_display (screen);
- launch_context = gdk_display_get_app_launch_context (display);
- gdk_app_launch_context_set_screen (launch_context, screen);
- g_app_info_launch (app_info, NULL, G_APP_LAUNCH_CONTEXT (launch_context), &error);
-
- g_object_unref (launch_context);
- }
- }
- g_free (monitor);
-
- if (error) {
- GtkWidget *dialog;
-
- dialog = gtk_message_dialog_new (NULL,
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_OK,
- _("There was an error executing '%s': %s"),
- "mate-system-monitor",
- error->message);
-
- g_signal_connect (dialog, "response",
- G_CALLBACK (gtk_widget_destroy),
- NULL);
-
- gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
- gtk_window_set_screen (GTK_WINDOW (dialog), screen);
-
- gtk_widget_show (dialog);
-
- g_error_free (error);
- }
+ GError *error = NULL;
+ GDesktopAppInfo *appinfo;
+ gchar *monitor;
+ GdkAppLaunchContext *launch_context;
+ GdkDisplay *display;
+ GAppInfo *app_info;
+ GdkScreen *screen;
+
+ g_return_if_fail (ma != NULL);
+
+ monitor = g_settings_get_string (ma->settings, "system-monitor");
+ if (monitor == NULL)
+ monitor = g_strdup ("mate-system-monitor.desktop");
+
+ screen = gtk_widget_get_screen (GTK_WIDGET (ma->applet));
+ appinfo = g_desktop_app_info_new (monitor);
+ if (appinfo) {
+ GdkAppLaunchContext *context;
+ display = gdk_screen_get_display (screen);
+ context = gdk_display_get_app_launch_context (display);
+ gdk_app_launch_context_set_screen (context, screen);
+ g_app_info_launch (G_APP_INFO (appinfo), NULL, G_APP_LAUNCH_CONTEXT (context), &error);
+ g_object_unref (context);
+ g_object_unref (appinfo);
+ }
+ else {
+ app_info = g_app_info_create_from_commandline ("mate-system-monitor",
+ _("Start system-monitor"),
+ G_APP_INFO_CREATE_NONE,
+ &error);
+
+ if (!error) {
+ display = gdk_screen_get_display (screen);
+ launch_context = gdk_display_get_app_launch_context (display);
+ gdk_app_launch_context_set_screen (launch_context, screen);
+ g_app_info_launch (app_info, NULL, G_APP_LAUNCH_CONTEXT (launch_context), &error);
+
+ g_object_unref (launch_context);
+ }
+ }
+ g_free (monitor);
+
+ if (error) {
+ GtkWidget *dialog;
+
+ dialog = gtk_message_dialog_new (NULL,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ _("There was an error executing '%s': %s"),
+ "mate-system-monitor",
+ error->message);
+
+ g_signal_connect (dialog, "response",
+ G_CALLBACK (gtk_widget_destroy),
+ NULL);
+
+ gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
+ gtk_window_set_screen (GTK_WINDOW (dialog), screen);
+
+ gtk_widget_show (dialog);
+
+ g_error_free (error);
+ }
}
static void
start_procman_cb (GtkAction *action,
- MultiloadApplet *ma)
+ MultiloadApplet *ma)
{
- start_procman (ma);
+ start_procman (ma);
}
static void
multiload_change_size_cb(MatePanelApplet *applet, gint size, gpointer data)
{
- MultiloadApplet *ma = (MultiloadApplet *)data;
+ MultiloadApplet *ma = (MultiloadApplet *)data;
- multiload_applet_refresh(ma);
+ multiload_applet_refresh(ma);
- return;
+ return;
}
static void
multiload_change_orient_cb(MatePanelApplet *applet, gint arg1, gpointer data)
{
- MultiloadApplet *ma = data;
- multiload_applet_refresh((MultiloadApplet *)data);
- gtk_widget_show (GTK_WIDGET (ma->applet));
- return;
+ MultiloadApplet *ma = data;
+ multiload_applet_refresh((MultiloadApplet *)data);
+ gtk_widget_show (GTK_WIDGET (ma->applet));
+ return;
}
static void
multiload_destroy_cb(GtkWidget *widget, gpointer data)
{
- gint i;
- MultiloadApplet *ma = data;
+ gint i;
+ MultiloadApplet *ma = data;
- for (i = 0; i < graph_n; i++)
- {
- load_graph_stop(ma->graphs[i]);
- if (ma->graphs[i]->colors)
- {
- g_free (ma->graphs[i]->colors);
- ma->graphs[i]->colors = NULL;
- }
- gtk_widget_destroy(ma->graphs[i]->main_widget);
+ for (i = 0; i < graph_n; i++)
+ {
+ load_graph_stop(ma->graphs[i]);
+ if (ma->graphs[i]->colors)
+ {
+ g_free (ma->graphs[i]->colors);
+ ma->graphs[i]->colors = NULL;
+ }
+ gtk_widget_destroy(ma->graphs[i]->main_widget);
- load_graph_unalloc(ma->graphs[i]);
- g_free(ma->graphs[i]);
- }
+ load_graph_unalloc(ma->graphs[i]);
+ g_free(ma->graphs[i]);
+ }
- netspeed_delete (ma->netspeed_in);
- netspeed_delete (ma->netspeed_out);
+ netspeed_delete (ma->netspeed_in);
+ netspeed_delete (ma->netspeed_out);
- if (ma->about_dialog)
- gtk_widget_destroy (ma->about_dialog);
+ if (ma->about_dialog)
+ gtk_widget_destroy (ma->about_dialog);
- if (ma->prop_dialog)
- gtk_widget_destroy (ma->prop_dialog);
+ if (ma->prop_dialog)
+ gtk_widget_destroy (ma->prop_dialog);
- gtk_widget_destroy(GTK_WIDGET(ma->applet));
+ gtk_widget_destroy(GTK_WIDGET(ma->applet));
- g_free (ma);
+ g_free (ma);
- return;
+ return;
}
static gboolean
multiload_button_press_event_cb (GtkWidget *widget, GdkEventButton *event, MultiloadApplet *ma)
{
- g_return_val_if_fail (event != NULL, FALSE);
- g_return_val_if_fail (ma != NULL, FALSE);
-
- if (event->button == 1 && event->type == GDK_BUTTON_PRESS) {
- start_procman (ma);
- return TRUE;
- }
- return FALSE;
+ g_return_val_if_fail (event != NULL, FALSE);
+ g_return_val_if_fail (ma != NULL, FALSE);
+
+ if (event->button == 1 && event->type == GDK_BUTTON_PRESS) {
+ start_procman (ma);
+ return TRUE;
+ }
+ return FALSE;
}
static gboolean
multiload_key_press_event_cb (GtkWidget *widget, GdkEventKey *event, MultiloadApplet *ma)
{
- g_return_val_if_fail (event != NULL, FALSE);
- g_return_val_if_fail (ma != NULL, FALSE);
-
- switch (event->keyval) {
- /* this list of keyvals taken from mixer applet, which seemed to have
- a good list of keys to use */
- case GDK_KEY_KP_Enter:
- case GDK_KEY_ISO_Enter:
- case GDK_KEY_3270_Enter:
- case GDK_KEY_Return:
- case GDK_KEY_space:
- case GDK_KEY_KP_Space:
- /* activate */
- start_procman (ma);
- return TRUE;
-
- default:
- break;
- }
-
- return FALSE;
+ g_return_val_if_fail (event != NULL, FALSE);
+ g_return_val_if_fail (ma != NULL, FALSE);
+
+ switch (event->keyval) {
+ /* this list of keyvals taken from mixer applet, which seemed to have
+ a good list of keys to use */
+ case GDK_KEY_KP_Enter:
+ case GDK_KEY_ISO_Enter:
+ case GDK_KEY_3270_Enter:
+ case GDK_KEY_Return:
+ case GDK_KEY_space:
+ case GDK_KEY_KP_Space:
+ /* activate */
+ start_procman (ma);
+ return TRUE;
+
+ default:
+ break;
+ }
+
+ return FALSE;
}
/* update the tooltip to the graph's current "used" percentage */
void
multiload_applet_tooltip_update(LoadGraph *g)
{
- gchar *tooltip_text;
- MultiloadApplet *multiload;
- const char *tooltip_label [graph_n] = {
- [graph_cpuload] = N_("Processor"),
- [graph_memload] = N_("Memory"),
- [graph_netload2] = N_("Network"),
- [graph_swapload] = N_("Swap Space"),
- [graph_loadavg] = N_("Load Average"),
- [graph_diskload] = N_("Disk")
- };
- const char *name;
-
- g_assert(g);
-
- multiload = g->multiload;
-
- /* label the tooltip intuitively */
- name = gettext (tooltip_label [g->id]);
-
- switch (g->id) {
- case graph_memload: {
- float user_percent, cache_percent;
-
- user_percent = MIN ((float)(100 * multiload->memload_user) / (float)(multiload->memload_total), 100.0f);
- cache_percent = MIN ((float)(100 * multiload->memload_cache) / (float)(multiload->memload_total), 100.0f);
- tooltip_text = g_strdup_printf (_("%s:\n"
- "%.01f%% in use by programs\n"
- "%.01f%% in use as cache"),
- name,
- user_percent,
- cache_percent);
- break;
- }
- case graph_loadavg: {
- tooltip_text = g_strdup_printf (_("The system load average is %0.02f"),
- multiload->loadavg1);
- break;
- }
- case graph_netload2: {
- char *tx_in, *tx_out;
-
- tx_in = netspeed_get(multiload->netspeed_in);
- tx_out = netspeed_get(multiload->netspeed_out);
- /* xgettext: same as in graphic tab of g-s-m */
- tooltip_text = g_strdup_printf(_("%s:\n"
- "Receiving %s\n"
- "Sending %s"),
- name, tx_in, tx_out);
- g_free(tx_in);
- g_free(tx_out);
- break;
- }
- default: {
- float ratio;
- float percent;
-
- if (g->id == graph_cpuload)
- ratio = multiload->cpu_used_ratio;
- else if (g->id == graph_swapload)
- ratio = multiload->swapload_used_ratio;
- else if (g->id == graph_diskload)
- ratio = multiload->diskload_used_ratio;
- else
- g_assert_not_reached ();
-
- percent = CLAMP (ratio * 100.0f, 0.0f, 100.0f);
- tooltip_text = g_strdup_printf(_("%s:\n"
- "%.01f%% in use"),
- name,
- percent);
- }
- }
-
- gtk_widget_set_tooltip_text(g->disp, tooltip_text);
-
- g_free(tooltip_text);
+ gchar *tooltip_text;
+ MultiloadApplet *multiload;
+ const char *tooltip_label [graph_n] = {
+ [graph_cpuload] = N_("Processor"),
+ [graph_memload] = N_("Memory"),
+ [graph_netload2] = N_("Network"),
+ [graph_swapload] = N_("Swap Space"),
+ [graph_loadavg] = N_("Load Average"),
+ [graph_diskload] = N_("Disk")
+ };
+ const char *name;
+
+ g_assert(g);
+
+ multiload = g->multiload;
+
+ /* label the tooltip intuitively */
+ name = gettext (tooltip_label [g->id]);
+
+ switch (g->id) {
+ case graph_memload: {
+ float user_percent, cache_percent;
+
+ user_percent = MIN ((float)(100 * multiload->memload_user) / (float)(multiload->memload_total), 100.0f);
+ cache_percent = MIN ((float)(100 * multiload->memload_cache) / (float)(multiload->memload_total), 100.0f);
+ tooltip_text = g_strdup_printf (_("%s:\n"
+ "%.01f%% in use by programs\n"
+ "%.01f%% in use as cache"),
+ name,
+ user_percent,
+ cache_percent);
+ break;
+ }
+ case graph_loadavg: {
+ tooltip_text = g_strdup_printf (_("The system load average is %0.02f"),
+ multiload->loadavg1);
+ break;
+ }
+ case graph_netload2: {
+ char *tx_in, *tx_out;
+
+ tx_in = netspeed_get(multiload->netspeed_in);
+ tx_out = netspeed_get(multiload->netspeed_out);
+ /* xgettext: same as in graphic tab of g-s-m */
+ tooltip_text = g_strdup_printf(_("%s:\n"
+ "Receiving %s\n"
+ "Sending %s"),
+ name, tx_in, tx_out);
+ g_free(tx_in);
+ g_free(tx_out);
+ break;
+ }
+ default: {
+ float ratio;
+ float percent;
+
+ if (g->id == graph_cpuload)
+ ratio = multiload->cpu_used_ratio;
+ else if (g->id == graph_swapload)
+ ratio = multiload->swapload_used_ratio;
+ else if (g->id == graph_diskload)
+ ratio = multiload->diskload_used_ratio;
+ else
+ g_assert_not_reached ();
+
+ percent = CLAMP (ratio * 100.0f, 0.0f, 100.0f);
+ tooltip_text = g_strdup_printf(_("%s:\n"
+ "%.01f%% in use"),
+ name,
+ percent);
+ }
+ }
+
+ gtk_widget_set_tooltip_text(g->disp, tooltip_text);
+
+ g_free(tooltip_text);
}
static void
multiload_create_graphs(MultiloadApplet *ma)
{
- struct { const char *label;
- const char *visibility_key;
- const char *name;
- int num_colours;
- LoadGraphDataFunc callback;
- } graph_types [graph_n] = {
- [graph_cpuload] = { _("CPU Load"), VIEW_CPULOAD_KEY, "cpuload", cpuload_n, GetLoad },
- [graph_memload] = { _("Memory Load"), VIEW_MEMLOAD_KEY, "memload", memload_n, GetMemory },
- [graph_netload2] = { _("Net Load"), VIEW_NETLOAD_KEY, "netload2", 6, GetNet },
- [graph_swapload] = { _("Swap Load"), VIEW_SWAPLOAD_KEY, "swapload", swapload_n, GetSwap },
- [graph_loadavg] = { _("Load Average"), VIEW_LOADAVG_KEY, "loadavg", 3, GetLoadAvg },
- [graph_diskload] = { _("Disk Load"), VIEW_DISKLOAD_KEY, "diskload", diskload_n, GetDiskLoad }
- };
-
- gint speed, size;
- guint net_threshold1;
- guint net_threshold2;
- guint net_threshold3;
- gint i;
-
- speed = g_settings_get_int (ma->settings, "speed");
- size = g_settings_get_int (ma->settings, "size");
- net_threshold1 = CLAMP (g_settings_get_uint (ma->settings, "netthreshold1"), MIN_NET_THRESHOLD1, MAX_NET_THRESHOLD1);
- net_threshold2 = CLAMP (g_settings_get_uint (ma->settings, "netthreshold2"), MIN_NET_THRESHOLD2, MAX_NET_THRESHOLD2);
- net_threshold3 = CLAMP (g_settings_get_uint (ma->settings, "netthreshold3"), MIN_NET_THRESHOLD3, MAX_NET_THRESHOLD3);
- if (net_threshold1 >= net_threshold2)
- {
- net_threshold1 = net_threshold2 - 1;
- }
- if (net_threshold2 >= net_threshold3)
- {
- net_threshold3 = net_threshold2 + 1;
- }
- speed = MAX (speed, 50);
- size = CLAMP (size, 10, 400);
-
- for (i = 0; i < graph_n; i++)
- {
- ma->graphs[i] = load_graph_new (ma,
- graph_types[i].num_colours,
- graph_types[i].label,
- i,
- speed,
- size,
- g_settings_get_boolean (ma->settings, graph_types[i].visibility_key),
- graph_types[i].name,
- graph_types[i].callback);
- }
- ma->nvme_diskstats = g_settings_get_boolean (ma->settings, "diskload-nvme-diskstats");
- /* for Network graph, colors[4] is grid line color, it should not be used in loop in load-graph.c */
- /* for Network graph, colors[5] is indicator color, it should not be used in loop in load-graph.c */
- ma->graphs[graph_netload2]->n = 4;
- ma->net_threshold1 = net_threshold1;
- ma->net_threshold2 = net_threshold2;
- ma->net_threshold3 = net_threshold3;
- ma->netspeed_in = netspeed_new (ma->graphs [graph_netload2]);
- ma->netspeed_out = netspeed_new (ma->graphs [graph_netload2]);
- /* for Load graph, colors[2] is grid line color, it should not be used in loop in load-graph.c */
- ma->graphs[graph_loadavg]->n = 2;
+ struct { const char *label;
+ const char *visibility_key;
+ const char *name;
+ int num_colours;
+ LoadGraphDataFunc callback;
+ } graph_types [graph_n] = {
+ [graph_cpuload] = { _("CPU Load"), VIEW_CPULOAD_KEY, "cpuload", cpuload_n, GetLoad },
+ [graph_memload] = { _("Memory Load"), VIEW_MEMLOAD_KEY, "memload", memload_n, GetMemory },
+ [graph_netload2] = { _("Net Load"), VIEW_NETLOAD_KEY, "netload2", 6, GetNet },
+ [graph_swapload] = { _("Swap Load"), VIEW_SWAPLOAD_KEY, "swapload", swapload_n, GetSwap },
+ [graph_loadavg] = { _("Load Average"), VIEW_LOADAVG_KEY, "loadavg", 3, GetLoadAvg },
+ [graph_diskload] = { _("Disk Load"), VIEW_DISKLOAD_KEY, "diskload", diskload_n, GetDiskLoad }
+ };
+
+ gint speed, size;
+ guint net_threshold1;
+ guint net_threshold2;
+ guint net_threshold3;
+ gint i;
+
+ speed = g_settings_get_int (ma->settings, "speed");
+ size = g_settings_get_int (ma->settings, "size");
+ net_threshold1 = CLAMP (g_settings_get_uint (ma->settings, "netthreshold1"), MIN_NET_THRESHOLD1, MAX_NET_THRESHOLD1);
+ net_threshold2 = CLAMP (g_settings_get_uint (ma->settings, "netthreshold2"), MIN_NET_THRESHOLD2, MAX_NET_THRESHOLD2);
+ net_threshold3 = CLAMP (g_settings_get_uint (ma->settings, "netthreshold3"), MIN_NET_THRESHOLD3, MAX_NET_THRESHOLD3);
+ if (net_threshold1 >= net_threshold2)
+ {
+ net_threshold1 = net_threshold2 - 1;
+ }
+ if (net_threshold2 >= net_threshold3)
+ {
+ net_threshold3 = net_threshold2 + 1;
+ }
+ speed = MAX (speed, 50);
+ size = CLAMP (size, 10, 400);
+
+ for (i = 0; i < graph_n; i++)
+ {
+ ma->graphs[i] = load_graph_new (ma,
+ graph_types[i].num_colours,
+ graph_types[i].label,
+ i,
+ speed,
+ size,
+ g_settings_get_boolean (ma->settings, graph_types[i].visibility_key),
+ graph_types[i].name,
+ graph_types[i].callback);
+ }
+ ma->nvme_diskstats = g_settings_get_boolean (ma->settings, "diskload-nvme-diskstats");
+ /* for Network graph, colors[4] is grid line color, it should not be used in loop in load-graph.c */
+ /* for Network graph, colors[5] is indicator color, it should not be used in loop in load-graph.c */
+ ma->graphs[graph_netload2]->n = 4;
+ ma->net_threshold1 = net_threshold1;
+ ma->net_threshold2 = net_threshold2;
+ ma->net_threshold3 = net_threshold3;
+ ma->netspeed_in = netspeed_new (ma->graphs [graph_netload2]);
+ ma->netspeed_out = netspeed_new (ma->graphs [graph_netload2]);
+ /* for Load graph, colors[2] is grid line color, it should not be used in loop in load-graph.c */
+ ma->graphs[graph_loadavg]->n = 2;
}
/* remove the old graphs and rebuild them */
void
multiload_applet_refresh(MultiloadApplet *ma)
{
- gint i;
- MatePanelAppletOrient orientation;
+ gint i;
+ MatePanelAppletOrient orientation;
- /* stop and free the old graphs */
- for (i = 0; i < graph_n; i++)
- {
- if (!ma->graphs[i])
- continue;
+ /* stop and free the old graphs */
+ for (i = 0; i < graph_n; i++)
+ {
+ if (!ma->graphs[i])
+ continue;
- load_graph_stop(ma->graphs[i]);
- gtk_widget_destroy(ma->graphs[i]->main_widget);
+ load_graph_stop(ma->graphs[i]);
+ gtk_widget_destroy(ma->graphs[i]->main_widget);
- load_graph_unalloc(ma->graphs[i]);
- g_free(ma->graphs[i]);
- }
+ load_graph_unalloc(ma->graphs[i]);
+ g_free(ma->graphs[i]);
+ }
- if (ma->box)
- gtk_widget_destroy(ma->box);
+ if (ma->box)
+ gtk_widget_destroy(ma->box);
- orientation = mate_panel_applet_get_orient(ma->applet);
+ orientation = mate_panel_applet_get_orient(ma->applet);
- if ( (orientation == MATE_PANEL_APPLET_ORIENT_UP) ||
- (orientation == MATE_PANEL_APPLET_ORIENT_DOWN) ) {
- ma->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- }
- else
- ma->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ if ( (orientation == MATE_PANEL_APPLET_ORIENT_UP) ||
+ (orientation == MATE_PANEL_APPLET_ORIENT_DOWN) ) {
+ ma->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ }
+ else
+ ma->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- gtk_container_add(GTK_CONTAINER(ma->applet), ma->box);
+ gtk_container_add(GTK_CONTAINER(ma->applet), ma->box);
- /* create the N graphs, passing in their user-configurable properties with gsettings. */
- multiload_create_graphs (ma);
+ /* create the N graphs, passing in their user-configurable properties with gsettings. */
+ multiload_create_graphs (ma);
- /* only start and display the graphs the user has turned on */
+ /* only start and display the graphs the user has turned on */
- for (i = 0; i < graph_n; i++) {
- gtk_box_pack_start(GTK_BOX(ma->box),
- ma->graphs[i]->main_widget,
- TRUE, TRUE, 1);
- if (ma->graphs[i]->visible) {
- gtk_widget_show_all (ma->graphs[i]->main_widget);
- load_graph_start(ma->graphs[i]);
- }
- }
- gtk_widget_show (ma->box);
+ for (i = 0; i < graph_n; i++) {
+ gtk_box_pack_start(GTK_BOX(ma->box),
+ ma->graphs[i]->main_widget,
+ TRUE, TRUE, 1);
+ if (ma->graphs[i]->visible) {
+ gtk_widget_show_all (ma->graphs[i]->main_widget);
+ load_graph_start(ma->graphs[i]);
+ }
+ }
+ gtk_widget_show (ma->box);
- return;
+ return;
}
static const GtkActionEntry multiload_menu_actions [] = {
- { "MultiLoadProperties", "document-properties", N_("_Preferences"),
- NULL, NULL,
- G_CALLBACK (multiload_properties_cb) },
- { "MultiLoadRunProcman", "system-run", N_("_Open System Monitor"),
- NULL, NULL,
- G_CALLBACK (start_procman_cb) },
- { "MultiLoadHelp", "help-browser", N_("_Help"),
- NULL, NULL,
- G_CALLBACK (help_cb) },
- { "MultiLoadAbout", "help-about", N_("_About"),
- NULL, NULL,
- G_CALLBACK (about_cb) }
+ { "MultiLoadProperties", "document-properties", N_("_Preferences"),
+ NULL, NULL,
+ G_CALLBACK (multiload_properties_cb) },
+ { "MultiLoadRunProcman", "system-run", N_("_Open System Monitor"),
+ NULL, NULL,
+ G_CALLBACK (start_procman_cb) },
+ { "MultiLoadHelp", "help-browser", N_("_Help"),
+ NULL, NULL,
+ G_CALLBACK (help_cb) },
+ { "MultiLoadAbout", "help-about", N_("_About"),
+ NULL, NULL,
+ G_CALLBACK (about_cb) }
};
/* create a box and stuff the load graphs inside of it */
static gboolean
multiload_applet_new(MatePanelApplet *applet, const gchar *iid, gpointer data)
{
- GtkStyleContext *context;
- MultiloadApplet *ma;
- GSettings *lockdown_settings;
- GtkActionGroup *action_group;
- gchar *ui_path;
+ GtkStyleContext *context;
+ MultiloadApplet *ma;
+ GSettings *lockdown_settings;
+ GtkActionGroup *action_group;
+ gchar *ui_path;
- context = gtk_widget_get_style_context (GTK_WIDGET (applet));
- gtk_style_context_add_class (context, "multiload-applet");
+ context = gtk_widget_get_style_context (GTK_WIDGET (applet));
+ gtk_style_context_add_class (context, "multiload-applet");
- ma = g_new0(MultiloadApplet, 1);
+ ma = g_new0(MultiloadApplet, 1);
- ma->applet = applet;
+ ma->applet = applet;
- ma->about_dialog = NULL;
- ma->prop_dialog = NULL;
+ ma->about_dialog = NULL;
+ ma->prop_dialog = NULL;
ma->last_clicked = 0;
- g_set_application_name (_("System Monitor"));
+ g_set_application_name (_("System Monitor"));
- gtk_window_set_default_icon_name ("utilities-system-monitor");
- mate_panel_applet_set_background_widget (applet, GTK_WIDGET(applet));
+ gtk_window_set_default_icon_name ("utilities-system-monitor");
+ mate_panel_applet_set_background_widget (applet, GTK_WIDGET(applet));
- ma->settings = mate_panel_applet_settings_new (applet, "org.mate.panel.applet.multiload");
- mate_panel_applet_set_flags (applet, MATE_PANEL_APPLET_EXPAND_MINOR);
+ ma->settings = mate_panel_applet_settings_new (applet, "org.mate.panel.applet.multiload");
+ mate_panel_applet_set_flags (applet, MATE_PANEL_APPLET_EXPAND_MINOR);
- action_group = gtk_action_group_new ("Multiload Applet Actions");
- gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE);
- gtk_action_group_add_actions (action_group,
- multiload_menu_actions,
- G_N_ELEMENTS (multiload_menu_actions),
- ma);
- ui_path = g_build_filename (MULTILOAD_MENU_UI_DIR, "multiload-applet-menu.xml", NULL);
- mate_panel_applet_setup_menu_from_file (applet, ui_path, action_group);
- g_free (ui_path);
+ action_group = gtk_action_group_new ("Multiload Applet Actions");
+ gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE);
+ gtk_action_group_add_actions (action_group,
+ multiload_menu_actions,
+ G_N_ELEMENTS (multiload_menu_actions),
+ ma);
+ ui_path = g_build_filename (MULTILOAD_MENU_UI_DIR, "multiload-applet-menu.xml", NULL);
+ mate_panel_applet_setup_menu_from_file (applet, ui_path, action_group);
+ g_free (ui_path);
- if (mate_panel_applet_get_locked_down (applet)) {
- GtkAction *action;
+ if (mate_panel_applet_get_locked_down (applet)) {
+ GtkAction *action;
- action = gtk_action_group_get_action (action_group, "MultiLoadProperties");
- gtk_action_set_visible (action, FALSE);
- }
+ action = gtk_action_group_get_action (action_group, "MultiLoadProperties");
+ gtk_action_set_visible (action, FALSE);
+ }
- lockdown_settings = g_settings_new ("org.mate.lockdown");
- if (g_settings_get_boolean (lockdown_settings, "disable-command-line") ||
- mate_panel_applet_get_locked_down (applet)) {
- GtkAction *action;
+ lockdown_settings = g_settings_new ("org.mate.lockdown");
+ if (g_settings_get_boolean (lockdown_settings, "disable-command-line") ||
+ mate_panel_applet_get_locked_down (applet)) {
+ GtkAction *action;
- /* When the panel is locked down or when the command line is inhibited,
- it seems very likely that running the procman would be at least harmful */
- action = gtk_action_group_get_action (action_group, "MultiLoadRunProcman");
- gtk_action_set_visible (action, FALSE);
- }
- g_object_unref (lockdown_settings);
+ /* When the panel is locked down or when the command line is inhibited,
+ it seems very likely that running the procman would be at least harmful */
+ action = gtk_action_group_get_action (action_group, "MultiLoadRunProcman");
+ gtk_action_set_visible (action, FALSE);
+ }
+ g_object_unref (lockdown_settings);
- g_object_unref (action_group);
+ g_object_unref (action_group);
- g_signal_connect(G_OBJECT(applet), "change_size",
- G_CALLBACK(multiload_change_size_cb), ma);
- g_signal_connect(G_OBJECT(applet), "change_orient",
- G_CALLBACK(multiload_change_orient_cb), ma);
- g_signal_connect(G_OBJECT(applet), "destroy",
- G_CALLBACK(multiload_destroy_cb), ma);
- g_signal_connect(G_OBJECT(applet), "button_press_event",
- G_CALLBACK(multiload_button_press_event_cb), ma);
- g_signal_connect(G_OBJECT(applet), "key_press_event",
- G_CALLBACK(multiload_key_press_event_cb), ma);
+ g_signal_connect(G_OBJECT(applet), "change_size",
+ G_CALLBACK(multiload_change_size_cb), ma);
+ g_signal_connect(G_OBJECT(applet), "change_orient",
+ G_CALLBACK(multiload_change_orient_cb), ma);
+ g_signal_connect(G_OBJECT(applet), "destroy",
+ G_CALLBACK(multiload_destroy_cb), ma);
+ g_signal_connect(G_OBJECT(applet), "button_press_event",
+ G_CALLBACK(multiload_button_press_event_cb), ma);
+ g_signal_connect(G_OBJECT(applet), "key_press_event",
+ G_CALLBACK(multiload_key_press_event_cb), ma);
- multiload_applet_refresh (ma);
+ multiload_applet_refresh (ma);
- gtk_widget_show(GTK_WIDGET(applet));
+ gtk_widget_show(GTK_WIDGET(applet));
- return TRUE;
+ return TRUE;
}
static gboolean
multiload_factory (MatePanelApplet *applet,
- const gchar *iid,
- gpointer data)
+ const gchar *iid,
+ gpointer data)
{
- gboolean retval = FALSE;
+ gboolean retval = FALSE;
- glibtop_init();
+ glibtop_init();
- retval = multiload_applet_new(applet, iid, data);
+ retval = multiload_applet_new(applet, iid, data);
- return retval;
+ return retval;
}
MATE_PANEL_APPLET_OUT_PROCESS_FACTORY ("MultiLoadAppletFactory",
- PANEL_TYPE_APPLET,
- "multiload",
- multiload_factory,
- NULL)
+ PANEL_TYPE_APPLET,
+ "multiload",
+ multiload_factory,
+ NULL)
diff --git a/multiload/netspeed.c b/multiload/netspeed.c
index 21747881..3e889c8f 100644
--- a/multiload/netspeed.c
+++ b/multiload/netspeed.c
@@ -8,27 +8,27 @@ enum { N_STATES = 4 };
struct _NetSpeed
{
- LoadGraph *graph;
- gulong states[N_STATES];
- size_t cur;
+ LoadGraph *graph;
+ gulong states[N_STATES];
+ size_t cur;
};
NetSpeed* netspeed_new(LoadGraph *g)
{
- NetSpeed *ns = g_new0(NetSpeed, 1);
- ns->graph = g;
- return ns;
+ NetSpeed *ns = g_new0(NetSpeed, 1);
+ ns->graph = g;
+ return ns;
}
void netspeed_delete(NetSpeed *ns)
{
- g_free(ns);
+ g_free(ns);
}
void netspeed_add(NetSpeed *ns, gulong tx)
{
- ns->cur = (ns->cur + 1) % N_STATES;
- ns->states[ns->cur] = tx;
+ ns->cur = (ns->cur + 1) % N_STATES;
+ ns->states[ns->cur] = tx;
}
/* Something very similar to g_format_size() but for rates.
@@ -36,35 +36,35 @@ void netspeed_add(NetSpeed *ns, gulong tx)
static char*
format_rate_for_display(guint rate)
{
- char *bytes;
- char *text;
+ char *bytes;
+ char *text;
- bytes = g_format_size (rate);
- text = g_strdup_printf (_("%s/s"), bytes);
- g_free (bytes);
+ bytes = g_format_size (rate);
+ text = g_strdup_printf (_("%s/s"), bytes);
+ g_free (bytes);
- return text;
+ return text;
}
char* netspeed_get(NetSpeed *ns)
{
- gulong older, newer;
- guint rate;
+ gulong older, newer;
+ guint rate;
- newer = ns->states[ns->cur];
- older = ns->states[(ns->cur + 1) % N_STATES];
+ newer = ns->states[ns->cur];
+ older = ns->states[(ns->cur + 1) % N_STATES];
- if ((older != 0) && (newer > older))
- rate = (newer - older) * 1000 / ((N_STATES - 1) * ns->graph->speed);
- else
- /* We end up here if we haven't got enough data yet or the
- network interface has jumped back (or there has never
- been any activity on any interface). A value of 0 is
- likely to be accurate, but if it is wrong it will be
- clearly wrong. In any event, it should fix itself in a
- few seconds. */
- rate = 0;
+ if ((older != 0) && (newer > older))
+ rate = (newer - older) * 1000 / ((N_STATES - 1) * ns->graph->speed);
+ else
+ /* We end up here if we haven't got enough data yet or the
+ network interface has jumped back (or there has never
+ been any activity on any interface). A value of 0 is
+ likely to be accurate, but if it is wrong it will be
+ clearly wrong. In any event, it should fix itself in a
+ few seconds. */
+ rate = 0;
- return format_rate_for_display(rate);
+ return format_rate_for_display(rate);
}
diff --git a/multiload/properties.c b/multiload/properties.c
index 214ce27f..c1ee09b6 100644
--- a/multiload/properties.c
+++ b/multiload/properties.c
@@ -2,7 +2,7 @@
* (C) 2002 The Free Software Foundation
*
* Authors:
- * Todd Kulesza
+ * Todd Kulesza
*
*
*/
@@ -21,28 +21,28 @@
#include "global.h"
-#define PROP_CPU 0
-#define PROP_MEM 1
-#define PROP_NET 2
-#define PROP_SWAP 3
-#define PROP_AVG 4
-#define PROP_DISK 5
+#define PROP_CPU 0
+#define PROP_MEM 1
+#define PROP_NET 2
+#define PROP_SWAP 3
+#define PROP_AVG 4
+#define PROP_DISK 5
-#define PROP_SPEED 6
-#define PROP_SIZE 7
+#define PROP_SPEED 6
+#define PROP_SIZE 7
#define PROP_NET_THRESHOLD1 8
#define PROP_NET_THRESHOLD2 9
#define PROP_NET_THRESHOLD3 10
-#define HIG_IDENTATION " "
-#define NEVER_SENSITIVE "never_sensitive"
+#define HIG_IDENTATION " "
+#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));
+ gtk_widget_set_sensitive (w, sensitivity);
+ g_object_set_data (G_OBJECT (w), NEVER_SENSITIVE,
+ GINT_TO_POINTER ( ! sensitivity));
}
@@ -50,278 +50,285 @@ hard_set_sensitive (GtkWidget *w, gboolean sensitivity)
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);
+ 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)
{
- gint i, total_graphs, last_graph;
+ gint i, total_graphs, last_graph;
- total_graphs = 0;
- last_graph = 0;
+ total_graphs = 0;
+ last_graph = 0;
- for (i = 0; i < graph_n; i++)
- if (ma->graphs[i]->visible)
- {
- last_graph = i;
- total_graphs++;
- }
+ 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);
+ if (total_graphs < 2)
+ soft_set_sensitive(ma->check_boxes[last_graph], FALSE);
- return;
+ return;
}
static void
properties_close_cb (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);
- error = NULL;
- }
- break;
-
- case GTK_RESPONSE_CLOSE:
- default:
- gtk_widget_destroy (widget);
- ma->prop_dialog = NULL;
- }
+ 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);
+ error = NULL;
+ }
+ break;
+
+ case GTK_RESPONSE_CLOSE:
+ default:
+ gtk_widget_destroy (widget);
+ ma->prop_dialog = NULL;
+ }
}
static void
property_toggled_cb(GtkWidget *widget, gpointer name)
{
- MultiloadApplet *ma;
- gint prop_type, i;
- gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
-
- ma = g_object_get_data(G_OBJECT(widget), "MultiloadApplet");
- prop_type = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "prop_type"));
-
- /* FIXME: the first toggle button to be checked/dechecked does not work, but after that everything is cool. what gives? */
- /* FIXME: check if this is still valid for gsettings */
- g_settings_set_boolean (ma->settings, (gchar *)name, active);
- g_settings_set_boolean (ma->settings, (gchar *)name, active);
-
- if (active)
- {
- for (i = 0; i < graph_n; i++)
- soft_set_sensitive(ma->check_boxes[i], TRUE);
- gtk_widget_show_all (ma->graphs[prop_type]->main_widget);
- ma->graphs[prop_type]->visible = TRUE;
- load_graph_start(ma->graphs[prop_type]);
- }
- else
- {
- load_graph_stop(ma->graphs[prop_type]);
- gtk_widget_hide (ma->graphs[prop_type]->main_widget);
- ma->graphs[prop_type]->visible = FALSE;
- properties_set_insensitive(ma);
- }
-
- return;
+ MultiloadApplet *ma;
+ gint prop_type, i;
+ gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+
+ ma = g_object_get_data(G_OBJECT(widget), "MultiloadApplet");
+ prop_type = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "prop_type"));
+
+ /* FIXME: the first toggle button to be checked/dechecked does not work, but after that everything is cool. what gives? */
+ /* FIXME: check if this is still valid for gsettings */
+ g_settings_set_boolean (ma->settings, (gchar *)name, active);
+ g_settings_set_boolean (ma->settings, (gchar *)name, active);
+
+ if (active)
+ {
+ for (i = 0; i < graph_n; i++)
+ soft_set_sensitive(ma->check_boxes[i], TRUE);
+ gtk_widget_show_all (ma->graphs[prop_type]->main_widget);
+ ma->graphs[prop_type]->visible = TRUE;
+ load_graph_start(ma->graphs[prop_type]);
+ }
+ else
+ {
+ load_graph_stop(ma->graphs[prop_type]);
+ gtk_widget_hide (ma->graphs[prop_type]->main_widget);
+ ma->graphs[prop_type]->visible = FALSE;
+ properties_set_insensitive(ma);
+ }
+
+ return;
}
static void
spin_button_changed_cb(GtkWidget *widget, gpointer name)
{
- MultiloadApplet *ma;
- gint value;
- gint prop_type, i;
-
- ma = g_object_get_data(G_OBJECT(widget), "MultiloadApplet");
- prop_type = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "prop_type"));
- value = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
-
- switch(prop_type)
- {
- case PROP_SPEED:
- g_settings_set_int (ma->settings, (gchar *)name, value);
- for (i = 0; i < graph_n; i++)
- {
- load_graph_stop(ma->graphs[i]);
- ma->graphs[i]->speed = value;
- if (ma->graphs[i]->visible)
- load_graph_start(ma->graphs[i]);
- }
-
- break;
-
- case PROP_SIZE:
- for (i = 0; i < graph_n; i++)
- {
- g_settings_set_int (ma->settings, (gchar *)name, value);
- ma->graphs[i]->size = value ;
-
- if (ma->graphs[i]->orient)
- gtk_widget_set_size_request (
- ma->graphs[i]->main_widget,
- ma->graphs[i]->pixel_size,
- ma->graphs[i]->size);
- else
- gtk_widget_set_size_request (
- ma->graphs[i]->main_widget,
- ma->graphs[i]->size,
- ma->graphs[i]->pixel_size);
- }
- break;
-
- case PROP_NET_THRESHOLD1:
- g_settings_set_uint (ma->settings, (gchar *)name, value);
- if (value >= ma->net_threshold2)
- {
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget),
- (gdouble)g_settings_get_uint (ma->settings, "netthreshold2") - 1);
- ma->net_threshold1 = g_settings_get_uint (ma->settings, "netthreshold2") - 1;
- }
- else
- ma->net_threshold1 = value;
- break;
-
- case PROP_NET_THRESHOLD2:
- g_settings_set_uint (ma->settings, (gchar *)name, value);
- if (value >= ma->net_threshold3)
- {
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget),
- (gdouble)g_settings_get_uint (ma->settings, "netthreshold3") - 1);
- ma->net_threshold2 = g_settings_get_uint (ma->settings, "netthreshold3") - 1;
- }
- else if (value <= ma->net_threshold1)
- {
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget),
- (gdouble)g_settings_get_uint (ma->settings, "netthreshold1") + 1);
- ma->net_threshold2 = g_settings_get_uint (ma->settings, "netthreshold1") + 1;
- }
- else
- ma->net_threshold2 = value;
-
- break;
-
- case PROP_NET_THRESHOLD3:
- g_settings_set_uint (ma->settings, (gchar *)name, value);
- if (value <= ma->net_threshold2)
- {
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget),
- (gdouble)g_settings_get_uint (ma->settings, "netthreshold2") + 1);
- ma->net_threshold3 = g_settings_get_uint (ma->settings, "netthreshold2") + 1;
- }
- else
- ma->net_threshold3 = value;
- break;
- default:
- g_assert_not_reached();
- }
-
- return;
+ MultiloadApplet *ma;
+ gint value;
+ gint prop_type, i;
+
+ ma = g_object_get_data(G_OBJECT(widget), "MultiloadApplet");
+ prop_type = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "prop_type"));
+ value = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+
+ switch(prop_type)
+ {
+ case PROP_SPEED:
+ g_settings_set_int (ma->settings, (gchar *)name, value);
+ for (i = 0; i < graph_n; i++)
+ {
+ load_graph_stop(ma->graphs[i]);
+ ma->graphs[i]->speed = value;
+ if (ma->graphs[i]->visible)
+ load_graph_start(ma->graphs[i]);
+ }
+
+ break;
+
+ case PROP_SIZE:
+ for (i = 0; i < graph_n; i++)
+ {
+ g_settings_set_int (ma->settings, (gchar *)name, value);
+ ma->graphs[i]->size = value ;
+
+ if (ma->graphs[i]->orient)
+ gtk_widget_set_size_request (
+ ma->graphs[i]->main_widget,
+ ma->graphs[i]->pixel_size,
+ ma->graphs[i]->size);
+ else
+ gtk_widget_set_size_request (
+ ma->graphs[i]->main_widget,
+ ma->graphs[i]->size,
+ ma->graphs[i]->pixel_size);
+ }
+ break;
+
+ case PROP_NET_THRESHOLD1:
+ g_settings_set_uint (ma->settings, (gchar *)name, value);
+ if (value >= ma->net_threshold2)
+ {
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget),
+ (gdouble)g_settings_get_uint (ma->settings,
+ "netthreshold2") - 1);
+ ma->net_threshold1 = g_settings_get_uint (ma->settings,
+ "netthreshold2") - 1;
+ }
+ else
+ ma->net_threshold1 = value;
+ break;
+
+ case PROP_NET_THRESHOLD2:
+ g_settings_set_uint (ma->settings, (gchar *)name, value);
+ if (value >= ma->net_threshold3)
+ {
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget),
+ (gdouble)g_settings_get_uint (ma->settings,
+ "netthreshold3") - 1);
+ ma->net_threshold2 = g_settings_get_uint (ma->settings,
+ "netthreshold3") - 1;
+ }
+ else if (value <= ma->net_threshold1)
+ {
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget),
+ (gdouble)g_settings_get_uint (ma->settings,
+ "netthreshold1") + 1);
+ ma->net_threshold2 = g_settings_get_uint (ma->settings,
+ "netthreshold1") + 1;
+ }
+ else
+ ma->net_threshold2 = value;
+ break;
+
+ case PROP_NET_THRESHOLD3:
+ g_settings_set_uint (ma->settings, (gchar *)name, value);
+ if (value <= ma->net_threshold2)
+ {
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget),
+ (gdouble)g_settings_get_uint (ma->settings,
+ "netthreshold2") + 1);
+ ma->net_threshold3 = g_settings_get_uint (ma->settings,
+ "netthreshold2") + 1;
+ }
+ else
+ ma->net_threshold3 = value;
+ break;
+ default:
+ g_assert_not_reached();
+ }
+
+ return;
}
/* create a new page in the notebook widget, add it, and return a pointer to it */
static GtkWidget *
add_page(GtkWidget *notebook, gchar *label)
{
- GtkWidget *page;
- GtkWidget *page_label;
+ GtkWidget *page;
+ GtkWidget *page_label;
- page = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_set_homogeneous (GTK_BOX (page), TRUE);
- page_label = gtk_label_new(label);
- gtk_container_set_border_width(GTK_CONTAINER(page), 6);
+ page = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_box_set_homogeneous (GTK_BOX (page), TRUE);
+ page_label = gtk_label_new(label);
+ gtk_container_set_border_width(GTK_CONTAINER(page), 6);
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), page, page_label);
+ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), page, page_label);
- return page;
+ return page;
}
/* save the selected color to gsettings and apply it on the applet */
static void
color_picker_set_cb(GtkColorChooser *color_picker, gchar *key)
{
- gchar *color_string;
- guint8 prop_type;
- GdkRGBA color;
- MultiloadApplet *ma;
-
- ma = g_object_get_data (G_OBJECT (color_picker), "MultiloadApplet");
-
- if (strstr(key, "cpuload"))
- prop_type = PROP_CPU;
- else if (strstr(key, "memload"))
- prop_type = PROP_MEM;
- else if (strstr(key, "netload2"))
- prop_type = PROP_NET;
- else if (strstr(key, "swapload"))
- prop_type = PROP_SWAP;
- else if (strstr(key, "loadavg"))
- prop_type = PROP_AVG;
- else if (strstr(key, "diskload"))
- prop_type = PROP_DISK;
- else
- g_assert_not_reached();
-
- gtk_color_chooser_get_rgba(color_picker, &color);
-
- color_string = gdk_rgba_to_string (&color);
- g_settings_set_string(ma->settings, key, color_string);
-
- gdk_rgba_parse(&(ma->graphs[prop_type]->colors[g_ascii_digit_value(key[strlen(key) - 1]) ]),
- color_string);
-
- return;
+ gchar *color_string;
+ guint8 prop_type;
+ GdkRGBA color;
+ MultiloadApplet *ma;
+
+ ma = g_object_get_data (G_OBJECT (color_picker), "MultiloadApplet");
+
+ if (strstr(key, "cpuload"))
+ prop_type = PROP_CPU;
+ else if (strstr(key, "memload"))
+ prop_type = PROP_MEM;
+ else if (strstr(key, "netload2"))
+ prop_type = PROP_NET;
+ else if (strstr(key, "swapload"))
+ prop_type = PROP_SWAP;
+ else if (strstr(key, "loadavg"))
+ prop_type = PROP_AVG;
+ else if (strstr(key, "diskload"))
+ prop_type = PROP_DISK;
+ else
+ g_assert_not_reached();
+
+ gtk_color_chooser_get_rgba(color_picker, &color);
+
+ color_string = gdk_rgba_to_string (&color);
+ g_settings_set_string(ma->settings, key, color_string);
+
+ gdk_rgba_parse(&(ma->graphs[prop_type]->colors[g_ascii_digit_value(key[strlen(key) - 1]) ]),
+ color_string);
+
+ return;
}
/* create a color selector */
static void
add_color_selector(GtkWidget *page, gchar *name, gchar *key, MultiloadApplet *ma)
{
- GtkWidget *vbox;
- GtkWidget *label;
- GtkWidget *color_picker;
- GdkRGBA color;
- gchar *color_string;
+ GtkWidget *vbox;
+ GtkWidget *label;
+ GtkWidget *color_picker;
+ GdkRGBA color;
+ gchar *color_string;
- color_string = g_settings_get_string (ma->settings, key);
- if (!color_string)
- color_string = g_strdup ("#000000");
- gdk_rgba_parse (&color, color_string);
- g_free (color_string);
+ color_string = g_settings_get_string (ma->settings, key);
+ if (!color_string)
+ color_string = g_strdup ("#000000");
+ gdk_rgba_parse (&color, color_string);
+ g_free (color_string);
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- label = gtk_label_new_with_mnemonic(name);
- color_picker = gtk_color_button_new();
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), color_picker);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+ label = gtk_label_new_with_mnemonic(name);
+ color_picker = gtk_color_button_new();
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), color_picker);
- gtk_box_pack_start(GTK_BOX(vbox), color_picker, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), color_picker, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(page), vbox, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(page), vbox, FALSE, FALSE, 0);
- g_object_set_data (G_OBJECT (color_picker), "MultiloadApplet", ma);
+ g_object_set_data (G_OBJECT (color_picker), "MultiloadApplet", ma);
- gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(color_picker), &color);
+ gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(color_picker), &color);
- g_signal_connect(G_OBJECT(color_picker), "color_set", G_CALLBACK(color_picker_set_cb), key);
+ g_signal_connect(G_OBJECT(color_picker), "color_set", G_CALLBACK(color_picker_set_cb), key);
- if ( ! g_settings_is_writable (ma->settings, key))
- hard_set_sensitive (vbox, FALSE);
+ if ( ! g_settings_is_writable (ma->settings, key))
+ hard_set_sensitive (vbox, FALSE);
- return;
+ return;
}
/* save the checkbox option to gsettings and apply it on the applet */
@@ -329,533 +336,533 @@ static void
nvme_checkbox_toggled_cb (GtkCheckButton *checkbox,
MultiloadApplet *ma)
{
- gboolean option;
+ gboolean option;
- option = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbox));
- ma->nvme_diskstats = option;
- g_settings_set_boolean (ma->settings, "diskload-nvme-diskstats", option);
+ option = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbox));
+ ma->nvme_diskstats = option;
+ g_settings_set_boolean (ma->settings, "diskload-nvme-diskstats", option);
- return;
+ return;
}
/* creates the properties dialog using up-to-the-minute info from gsettings */
static void
fill_properties(GtkWidget *dialog, MultiloadApplet *ma)
{
- GtkWidget *page;
- GtkWidget *hbox, *vbox;
- GtkWidget *categories_vbox;
- GtkWidget *category_vbox;
- GtkWidget *control_vbox;
- GtkWidget *control_hbox;
- GtkWidget *check_box;
- GtkWidget *indent;
- GtkWidget *spin_button;
- GtkWidget *label;
- MatePanelAppletOrient orient;
- GtkSizeGroup *label_size;
- GtkSizeGroup *spin_size;
- gchar *label_text;
- gchar *title;
-
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
- gtk_widget_show (vbox);
-
- gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), vbox,
- TRUE, TRUE, 0);
-
- categories_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18);
- gtk_box_pack_start (GTK_BOX (vbox), categories_vbox, TRUE, TRUE, 0);
- gtk_widget_show (categories_vbox);
-
- category_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start (GTK_BOX (categories_vbox), category_vbox, TRUE, TRUE, 0);
- gtk_widget_show (category_vbox);
-
- title = g_strconcat ("<span weight=\"bold\">", _("Monitored Resources"), "</span>", NULL);
- label = gtk_label_new_with_mnemonic (_(title));
- gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_label_set_xalign (GTK_LABEL (label), 0.0);
- gtk_box_pack_start (GTK_BOX (category_vbox), label, FALSE, FALSE, 0);
- g_free (title);
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_start (GTK_BOX (category_vbox), hbox, TRUE, TRUE, 0);
- gtk_widget_show (hbox);
-
- indent = gtk_label_new (HIG_IDENTATION);
- gtk_label_set_justify (GTK_LABEL (indent), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start (GTK_BOX (hbox), indent, FALSE, FALSE, 0);
- gtk_widget_show (indent);
-
- control_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start (GTK_BOX (hbox), control_vbox, TRUE, TRUE, 0);
- gtk_widget_show (control_vbox);
-
- control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
- gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
- gtk_widget_show (control_hbox);
-
- check_box = gtk_check_button_new_with_mnemonic(_("_Processor"));
- ma->check_boxes[0] = check_box;
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
- g_settings_get_boolean (ma->settings, VIEW_CPULOAD_KEY));
- g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
- g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_CPU));
- g_signal_connect(G_OBJECT(check_box), "toggled",
- G_CALLBACK(property_toggled_cb), VIEW_CPULOAD_KEY);
- gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
-
- if ( ! g_settings_is_writable (ma->settings, VIEW_CPULOAD_KEY))
- hard_set_sensitive (check_box, FALSE);
-
- check_box = gtk_check_button_new_with_mnemonic(_("_Memory"));
- ma->check_boxes[1] = check_box;
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
- g_settings_get_boolean (ma->settings, VIEW_MEMLOAD_KEY));
- g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
- g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_MEM));
- g_signal_connect(G_OBJECT(check_box), "toggled",
- G_CALLBACK(property_toggled_cb), VIEW_MEMLOAD_KEY);
- gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
-
- if ( ! g_settings_is_writable (ma->settings, VIEW_MEMLOAD_KEY))
- hard_set_sensitive (check_box, FALSE);
-
- check_box = gtk_check_button_new_with_mnemonic(_("_Network"));
- ma->check_boxes[2] = check_box;
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
- g_settings_get_boolean (ma->settings, VIEW_NETLOAD_KEY));
- g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
- g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_NET));
- g_signal_connect(G_OBJECT(check_box), "toggled",
- G_CALLBACK(property_toggled_cb), VIEW_NETLOAD_KEY);
- gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
-
- if ( ! g_settings_is_writable (ma->settings, VIEW_NETLOAD_KEY))
- hard_set_sensitive (check_box, FALSE);
-
- check_box = gtk_check_button_new_with_mnemonic (_("S_wap Space"));
- ma->check_boxes[3] = check_box;
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
- g_settings_get_boolean (ma->settings, VIEW_SWAPLOAD_KEY));
- g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
- g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_SWAP));
- g_signal_connect(G_OBJECT(check_box), "toggled",
- G_CALLBACK(property_toggled_cb), VIEW_SWAPLOAD_KEY);
- gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
-
- if ( ! g_settings_is_writable (ma->settings, VIEW_SWAPLOAD_KEY))
- hard_set_sensitive (check_box, FALSE);
-
- check_box = gtk_check_button_new_with_mnemonic(_("_Load"));
- ma->check_boxes[4] = check_box;
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
- g_settings_get_boolean (ma->settings, VIEW_LOADAVG_KEY));
- g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
- g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_AVG));
- g_signal_connect(G_OBJECT(check_box), "toggled",
- G_CALLBACK(property_toggled_cb), VIEW_LOADAVG_KEY);
- gtk_box_pack_start(GTK_BOX(control_hbox), check_box, FALSE, FALSE, 0);
-
- if ( ! g_settings_is_writable (ma->settings, VIEW_LOADAVG_KEY))
- hard_set_sensitive (check_box, FALSE);
-
- check_box = gtk_check_button_new_with_mnemonic(_("_Harddisk"));
- ma->check_boxes[5] = check_box;
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_box),
- g_settings_get_boolean (ma->settings, VIEW_DISKLOAD_KEY));
- g_object_set_data (G_OBJECT (check_box), "MultiloadApplet", ma);
- g_object_set_data (G_OBJECT (check_box), "prop_type",
- GINT_TO_POINTER (PROP_DISK));
- g_signal_connect (G_OBJECT (check_box), "toggled",
- G_CALLBACK (property_toggled_cb), VIEW_DISKLOAD_KEY);
- gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
-
- if ( ! g_settings_is_writable (ma->settings, VIEW_DISKLOAD_KEY))
- hard_set_sensitive (check_box, FALSE);
-
- category_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start (GTK_BOX (categories_vbox), category_vbox, TRUE, TRUE, 0);
- gtk_widget_show (category_vbox);
-
- title = g_strconcat ("<span weight=\"bold\">", _("Options"), "</span>", NULL);
- label = gtk_label_new (title);
- gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_label_set_xalign (GTK_LABEL (label), 0.0);
- gtk_box_pack_start (GTK_BOX (category_vbox), label, FALSE, FALSE, 0);
- gtk_widget_show (label);
- g_free (title);
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_start (GTK_BOX (category_vbox), hbox, TRUE, TRUE, 0);
- gtk_widget_show (hbox);
-
- indent = gtk_label_new (HIG_IDENTATION);
- gtk_label_set_justify (GTK_LABEL (indent), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start (GTK_BOX (hbox), indent, FALSE, FALSE, 0);
- gtk_widget_show (indent);
-
- control_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start (GTK_BOX (hbox), control_vbox, TRUE, TRUE, 0);
- gtk_widget_show (control_vbox);
-
- control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
- gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
- gtk_widget_show (control_hbox);
-
- label_size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-
- orient = mate_panel_applet_get_orient(ma->applet);
- if ( (orient == MATE_PANEL_APPLET_ORIENT_UP) || (orient == MATE_PANEL_APPLET_ORIENT_DOWN) )
- label_text = g_strdup(_("System m_onitor width: "));
- else
- label_text = g_strdup(_("System m_onitor height: "));
-
- label = gtk_label_new_with_mnemonic(label_text);
- gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
- gtk_size_group_add_widget (label_size, label);
- gtk_box_pack_start (GTK_BOX (control_hbox), label, FALSE, FALSE, 0);
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
- gtk_box_pack_start (GTK_BOX (control_hbox), hbox, TRUE, TRUE, 0);
- gtk_widget_show (hbox);
-
- spin_size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-
- spin_button = gtk_spin_button_new_with_range(10, 1000, 5);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
- g_object_set_data(G_OBJECT(spin_button), "MultiloadApplet", ma);
- g_object_set_data(G_OBJECT(spin_button), "prop_type",
- GINT_TO_POINTER(PROP_SIZE));
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),
- (gdouble)g_settings_get_int(ma->settings, "size"));
- g_signal_connect(G_OBJECT(spin_button), "value_changed",
- G_CALLBACK(spin_button_changed_cb), "size");
-
- if ( ! g_settings_is_writable (ma->settings, "size")) {
- hard_set_sensitive (label, FALSE);
- hard_set_sensitive (hbox, FALSE);
- }
-
- gtk_size_group_add_widget (spin_size, spin_button);
- gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE, 0);
-
- label = gtk_label_new (_("pixels"));
- gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
- control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
- gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
- gtk_widget_show (control_hbox);
-
- label = gtk_label_new_with_mnemonic(_("Sys_tem monitor update interval: "));
- gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
- gtk_size_group_add_widget (label_size, label);
- gtk_box_pack_start (GTK_BOX (control_hbox), label, FALSE, FALSE, 0);
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
- gtk_box_pack_start (GTK_BOX (control_hbox), hbox, TRUE, TRUE, 0);
- gtk_widget_show (hbox);
-
- spin_button = gtk_spin_button_new_with_range(50, 10000, 50);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
- g_object_set_data(G_OBJECT(spin_button), "MultiloadApplet", ma);
- g_object_set_data(G_OBJECT(spin_button), "prop_type",
- GINT_TO_POINTER(PROP_SPEED));
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),
- (gdouble)g_settings_get_int (ma->settings, "speed"));
- g_signal_connect(G_OBJECT(spin_button), "value_changed",
- G_CALLBACK(spin_button_changed_cb), "speed");
- gtk_size_group_add_widget (spin_size, spin_button);
- gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE, 0);
-
- if ( ! g_settings_is_writable (ma->settings, "speed")) {
- hard_set_sensitive (label, FALSE);
- hard_set_sensitive (hbox, FALSE);
- }
-
- label = gtk_label_new(_("milliseconds"));
- gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
- g_free(label_text);
-
-
- category_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start (GTK_BOX (categories_vbox), category_vbox, TRUE, TRUE, 0);
- gtk_widget_show (category_vbox);
-
- title = g_strconcat ("<span weight=\"bold\">", _("Colors"), "</span>", NULL);
- label = gtk_label_new (title);
- gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_label_set_xalign (GTK_LABEL (label), 0.0);
- gtk_box_pack_start (GTK_BOX (category_vbox), label, FALSE, FALSE, 0);
- gtk_widget_show (label);
- g_free (title);
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_start (GTK_BOX (category_vbox), hbox, TRUE, TRUE, 0);
- gtk_widget_show (hbox);
-
- indent = gtk_label_new (HIG_IDENTATION);
- gtk_label_set_justify (GTK_LABEL (indent), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start (GTK_BOX (hbox), indent, FALSE, FALSE, 0);
- gtk_widget_show (indent);
-
- control_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start (GTK_BOX (hbox), control_vbox, TRUE, TRUE, 0);
- gtk_widget_show (control_vbox);
-
- ma->notebook = gtk_notebook_new();
- gtk_container_add (GTK_CONTAINER (control_vbox), ma->notebook);
-
- page = add_page(ma->notebook, _("Processor"));
- gtk_container_set_border_width (GTK_CONTAINER (page), 12);
- add_color_selector(page, _("_User"), "cpuload-color0", ma);
- add_color_selector(page, _("S_ystem"), "cpuload-color1", ma);
- add_color_selector(page, _("N_ice"), "cpuload-color2", ma);
- add_color_selector(page, _("I_OWait"), "cpuload-color3", ma);
- add_color_selector(page, _("I_dle"), "cpuload-color4", ma);
-
- page = add_page(ma->notebook, _("Memory"));
- gtk_container_set_border_width (GTK_CONTAINER (page), 12);
- add_color_selector(page, _("_User"), "memload-color0", ma);
- add_color_selector(page, _("Sh_ared"), "memload-color1", ma);
- add_color_selector(page, _("_Buffers"), "memload-color2", ma);
- add_color_selector (page, _("Cach_ed"), "memload-color3", ma);
- add_color_selector(page, _("F_ree"), "memload-color4", ma);
-
- page = add_page(ma->notebook, _("Network"));
- gtk_container_set_border_width (GTK_CONTAINER (page), 12);
- add_color_selector (page, _("_In"), "netload2-color0", ma);
- add_color_selector(page, _("_Out"), "netload2-color1", ma);
- add_color_selector (page, _("_Local"), "netload2-color2", ma);
- add_color_selector(page, _("_Background"), "netload2-color3", ma);
- add_color_selector(page, _("_Gridline"), "netload2-color4", ma);
- add_color_selector(page, _("_Indicator"), "netload2-color5", ma);
-
- page = add_page(ma->notebook, _("Swap Space"));
- gtk_container_set_border_width (GTK_CONTAINER (page), 12);
- add_color_selector(page, _("_Used"), "swapload-color0", ma);
- add_color_selector(page, _("_Free"), "swapload-color1", ma);
-
- page = add_page(ma->notebook, _("Load"));
- gtk_container_set_border_width (GTK_CONTAINER (page), 12);
- add_color_selector(page, _("_Average"), "loadavg-color0", ma);
- add_color_selector(page, _("_Background"), "loadavg-color1", ma);
- add_color_selector(page, _("_Gridline"), "loadavg-color2", ma);
-
- page = add_page (ma->notebook, _("Harddisk"));
- gtk_container_set_border_width (GTK_CONTAINER (page), 12);
- add_color_selector (page, _("_Read"), "diskload-color0", ma);
- add_color_selector (page, _("_Write"), "diskload-color1", ma);
- add_color_selector (page, _("_Background"), "diskload-color2", ma);
- GtkWidget *nvme_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- GtkWidget *nvme_checkbox = gtk_check_button_new_with_mnemonic (_("Use diskstats for NVMe"));
- ma->nvme_diskstats = g_settings_get_boolean (ma->settings, "diskload-nvme-diskstats");
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (nvme_checkbox),
- ma->nvme_diskstats);
- g_signal_connect (G_OBJECT (nvme_checkbox), "toggled",
- G_CALLBACK (nvme_checkbox_toggled_cb), ma);
- gtk_box_pack_start (GTK_BOX(nvme_box), nvme_checkbox, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX(page), nvme_box, FALSE, FALSE, 0);
- gtk_widget_show (nvme_box);
-
- title = g_strconcat ("<span weight=\"bold\">", _("Network speed thresholds"), "</span>", NULL);
- label = gtk_label_new (title);
- gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_label_set_xalign (GTK_LABEL (label), 0.0);
- gtk_box_pack_start (GTK_BOX (category_vbox), label, FALSE, FALSE, 0);
- gtk_widget_show (label);
- g_free (title);
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_start (GTK_BOX (category_vbox), hbox, TRUE, TRUE, 0);
- gtk_widget_show (hbox);
-
- indent = gtk_label_new (HIG_IDENTATION);
- gtk_label_set_justify (GTK_LABEL (indent), GTK_JUSTIFY_LEFT);
- gtk_box_pack_start (GTK_BOX (hbox), indent, FALSE, FALSE, 0);
- gtk_widget_show (indent);
-
- control_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start (GTK_BOX (hbox), control_vbox, TRUE, TRUE, 0);
- gtk_widget_show (control_vbox);
-
- control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
- gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
- gtk_widget_show (control_hbox);
-
- label_size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-
- label_text = g_strdup(_("Threshold 1: "));
- label = gtk_label_new_with_mnemonic(label_text);
- gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
- gtk_size_group_add_widget (label_size, label);
- gtk_box_pack_start (GTK_BOX (control_hbox), label, FALSE, FALSE, 0);
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
- gtk_box_pack_start (GTK_BOX (control_hbox), hbox, TRUE, TRUE, 0);
- gtk_widget_show (hbox);
-
- spin_size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-
- spin_button = gtk_spin_button_new_with_range (MIN_NET_THRESHOLD1, MAX_NET_THRESHOLD1, 5);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
- g_object_set_data(G_OBJECT(spin_button), "MultiloadApplet", ma);
- g_object_set_data(G_OBJECT(spin_button), "prop_type",
- GUINT_TO_POINTER(PROP_NET_THRESHOLD1));
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),
- (gdouble)g_settings_get_uint(ma->settings, "netthreshold1"));
- g_signal_connect(G_OBJECT(spin_button), "value_changed",
- G_CALLBACK(spin_button_changed_cb), "netthreshold1");
-
- if ( ! g_settings_is_writable (ma->settings, "netthreshold1"))
- {
- hard_set_sensitive (label, FALSE);
- hard_set_sensitive (hbox, FALSE);
- }
-
- gtk_size_group_add_widget (spin_size, spin_button);
- gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE, 0);
-
- label = gtk_label_new (_("bytes"));
- gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
- control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
- gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
- gtk_widget_show (control_hbox);
-
- label = gtk_label_new_with_mnemonic(_("Threshold 2: "));
- gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
- gtk_size_group_add_widget (label_size, label);
- gtk_box_pack_start (GTK_BOX (control_hbox), label, FALSE, FALSE, 0);
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
- gtk_box_pack_start (GTK_BOX (control_hbox), hbox, TRUE, TRUE, 0);
- gtk_widget_show (hbox);
-
- spin_button = gtk_spin_button_new_with_range (MIN_NET_THRESHOLD2, MAX_NET_THRESHOLD2, 5);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
- g_object_set_data(G_OBJECT(spin_button), "MultiloadApplet", ma);
- g_object_set_data(G_OBJECT(spin_button), "prop_type",
- GINT_TO_POINTER(PROP_NET_THRESHOLD2));
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),
- (gdouble)g_settings_get_uint (ma->settings, "netthreshold2"));
- g_signal_connect(G_OBJECT(spin_button), "value_changed",
- G_CALLBACK(spin_button_changed_cb), "netthreshold2");
- gtk_size_group_add_widget (spin_size, spin_button);
- gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE, 0);
-
- if ( ! g_settings_is_writable (ma->settings, "netthreshold2"))
- {
- hard_set_sensitive (label, FALSE);
- hard_set_sensitive (hbox, FALSE);
- }
-
- label = gtk_label_new(_("bytes"));
- gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
- control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
- gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
- gtk_widget_show (control_hbox);
-
- label = gtk_label_new_with_mnemonic(_("Threshold 3: "));
- gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
- gtk_size_group_add_widget (label_size, label);
- gtk_box_pack_start (GTK_BOX (control_hbox), label, FALSE, FALSE, 0);
-
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
- gtk_box_pack_start (GTK_BOX (control_hbox), hbox, TRUE, TRUE, 0);
- gtk_widget_show (hbox);
-
- spin_button = gtk_spin_button_new_with_range (MIN_NET_THRESHOLD3, MAX_NET_THRESHOLD3, 5);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
- g_object_set_data(G_OBJECT(spin_button), "MultiloadApplet", ma);
- g_object_set_data(G_OBJECT(spin_button), "prop_type",
- GINT_TO_POINTER(PROP_NET_THRESHOLD3));
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),
- (gdouble)g_settings_get_uint (ma->settings, "netthreshold3"));
- g_signal_connect(G_OBJECT(spin_button), "value_changed",
- G_CALLBACK(spin_button_changed_cb), "netthreshold3");
- gtk_size_group_add_widget (spin_size, spin_button);
- gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE, 0);
-
- if ( ! g_settings_is_writable (ma->settings, "netthreshold3"))
- {
- hard_set_sensitive (label, FALSE);
- hard_set_sensitive (hbox, FALSE);
- }
-
- label = gtk_label_new(_("bytes"));
- gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
- g_free(label_text);
-
- category_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start (GTK_BOX (categories_vbox), category_vbox, TRUE, TRUE, 0);
-
- control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
- gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
- gtk_widget_show (control_hbox);
-
- gtk_widget_show (category_vbox);
-
-
- return;
+ GtkWidget *page;
+ GtkWidget *hbox, *vbox;
+ GtkWidget *categories_vbox;
+ GtkWidget *category_vbox;
+ GtkWidget *control_vbox;
+ GtkWidget *control_hbox;
+ GtkWidget *check_box;
+ GtkWidget *indent;
+ GtkWidget *spin_button;
+ GtkWidget *label;
+ MatePanelAppletOrient orient;
+ GtkSizeGroup *label_size;
+ GtkSizeGroup *spin_size;
+ gchar *label_text;
+ gchar *title;
+
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
+ gtk_widget_show (vbox);
+
+ gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
+ vbox, TRUE, TRUE, 0);
+
+ categories_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18);
+ gtk_box_pack_start (GTK_BOX (vbox), categories_vbox, TRUE, TRUE, 0);
+ gtk_widget_show (categories_vbox);
+
+ category_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+ gtk_box_pack_start (GTK_BOX (categories_vbox), category_vbox, TRUE, TRUE, 0);
+ gtk_widget_show (category_vbox);
+
+ title = g_strconcat ("<span weight=\"bold\">", _("Monitored Resources"), "</span>", NULL);
+ label = gtk_label_new_with_mnemonic (_(title));
+ gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
+ gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0);
+ gtk_box_pack_start (GTK_BOX (category_vbox), label, FALSE, FALSE, 0);
+ g_free (title);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_box_pack_start (GTK_BOX (category_vbox), hbox, TRUE, TRUE, 0);
+ gtk_widget_show (hbox);
+
+ indent = gtk_label_new (HIG_IDENTATION);
+ gtk_label_set_justify (GTK_LABEL (indent), GTK_JUSTIFY_LEFT);
+ gtk_box_pack_start (GTK_BOX (hbox), indent, FALSE, FALSE, 0);
+ gtk_widget_show (indent);
+
+ control_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+ gtk_box_pack_start (GTK_BOX (hbox), control_vbox, TRUE, TRUE, 0);
+ gtk_widget_show (control_vbox);
+
+ control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
+ gtk_widget_show (control_hbox);
+
+ check_box = gtk_check_button_new_with_mnemonic(_("_Processor"));
+ ma->check_boxes[0] = check_box;
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
+ g_settings_get_boolean (ma->settings,
+ VIEW_CPULOAD_KEY));
+ g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
+ g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_CPU));
+ g_signal_connect(G_OBJECT(check_box), "toggled",
+ G_CALLBACK(property_toggled_cb), VIEW_CPULOAD_KEY);
+ gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
+
+ if ( ! g_settings_is_writable (ma->settings, VIEW_CPULOAD_KEY))
+ hard_set_sensitive (check_box, FALSE);
+
+ check_box = gtk_check_button_new_with_mnemonic(_("_Memory"));
+ ma->check_boxes[1] = check_box;
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
+ g_settings_get_boolean (ma->settings, VIEW_MEMLOAD_KEY));
+ g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
+ g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_MEM));
+ g_signal_connect(G_OBJECT(check_box), "toggled",
+ G_CALLBACK(property_toggled_cb), VIEW_MEMLOAD_KEY);
+ gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
+
+ if ( ! g_settings_is_writable (ma->settings, VIEW_MEMLOAD_KEY))
+ hard_set_sensitive (check_box, FALSE);
+
+ check_box = gtk_check_button_new_with_mnemonic(_("_Network"));
+ ma->check_boxes[2] = check_box;
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
+ g_settings_get_boolean (ma->settings, VIEW_NETLOAD_KEY));
+ g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
+ g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_NET));
+ g_signal_connect(G_OBJECT(check_box), "toggled",
+ G_CALLBACK(property_toggled_cb), VIEW_NETLOAD_KEY);
+ gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
+
+ if ( ! g_settings_is_writable (ma->settings, VIEW_NETLOAD_KEY))
+ hard_set_sensitive (check_box, FALSE);
+
+ check_box = gtk_check_button_new_with_mnemonic (_("S_wap Space"));
+ ma->check_boxes[3] = check_box;
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
+ g_settings_get_boolean (ma->settings, VIEW_SWAPLOAD_KEY));
+ g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
+ g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_SWAP));
+ g_signal_connect(G_OBJECT(check_box), "toggled",
+ G_CALLBACK(property_toggled_cb), VIEW_SWAPLOAD_KEY);
+ gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
+
+ if ( ! g_settings_is_writable (ma->settings, VIEW_SWAPLOAD_KEY))
+ hard_set_sensitive (check_box, FALSE);
+
+ check_box = gtk_check_button_new_with_mnemonic(_("_Load"));
+ ma->check_boxes[4] = check_box;
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_box),
+ g_settings_get_boolean (ma->settings, VIEW_LOADAVG_KEY));
+ g_object_set_data(G_OBJECT(check_box), "MultiloadApplet", ma);
+ g_object_set_data(G_OBJECT(check_box), "prop_type", GINT_TO_POINTER(PROP_AVG));
+ g_signal_connect(G_OBJECT(check_box), "toggled",
+ G_CALLBACK(property_toggled_cb), VIEW_LOADAVG_KEY);
+ gtk_box_pack_start(GTK_BOX(control_hbox), check_box, FALSE, FALSE, 0);
+
+ if ( ! g_settings_is_writable (ma->settings, VIEW_LOADAVG_KEY))
+ hard_set_sensitive (check_box, FALSE);
+
+ check_box = gtk_check_button_new_with_mnemonic(_("_Harddisk"));
+ ma->check_boxes[5] = check_box;
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_box),
+ g_settings_get_boolean (ma->settings, VIEW_DISKLOAD_KEY));
+ g_object_set_data (G_OBJECT (check_box), "MultiloadApplet", ma);
+ g_object_set_data (G_OBJECT (check_box), "prop_type",
+ GINT_TO_POINTER (PROP_DISK));
+ g_signal_connect (G_OBJECT (check_box), "toggled",
+ G_CALLBACK (property_toggled_cb), VIEW_DISKLOAD_KEY);
+ gtk_box_pack_start (GTK_BOX (control_hbox), check_box, FALSE, FALSE, 0);
+
+ if ( ! g_settings_is_writable (ma->settings, VIEW_DISKLOAD_KEY))
+ hard_set_sensitive (check_box, FALSE);
+
+ category_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+ gtk_box_pack_start (GTK_BOX (categories_vbox), category_vbox, TRUE, TRUE, 0);
+ gtk_widget_show (category_vbox);
+
+ title = g_strconcat ("<span weight=\"bold\">", _("Options"), "</span>", NULL);
+ label = gtk_label_new (title);
+ gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
+ gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0);
+ gtk_box_pack_start (GTK_BOX (category_vbox), label, FALSE, FALSE, 0);
+ gtk_widget_show (label);
+ g_free (title);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_box_pack_start (GTK_BOX (category_vbox), hbox, TRUE, TRUE, 0);
+ gtk_widget_show (hbox);
+
+ indent = gtk_label_new (HIG_IDENTATION);
+ gtk_label_set_justify (GTK_LABEL (indent), GTK_JUSTIFY_LEFT);
+ gtk_box_pack_start (GTK_BOX (hbox), indent, FALSE, FALSE, 0);
+ gtk_widget_show (indent);
+
+ control_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+ gtk_box_pack_start (GTK_BOX (hbox), control_vbox, TRUE, TRUE, 0);
+ gtk_widget_show (control_vbox);
+
+ control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
+ gtk_widget_show (control_hbox);
+
+ label_size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+
+ orient = mate_panel_applet_get_orient(ma->applet);
+ if ( (orient == MATE_PANEL_APPLET_ORIENT_UP) || (orient == MATE_PANEL_APPLET_ORIENT_DOWN) )
+ label_text = g_strdup(_("System m_onitor width: "));
+ else
+ label_text = g_strdup(_("System m_onitor height: "));
+
+ label = gtk_label_new_with_mnemonic(label_text);
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
+ gtk_size_group_add_widget (label_size, label);
+ gtk_box_pack_start (GTK_BOX (control_hbox), label, FALSE, FALSE, 0);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ gtk_box_pack_start (GTK_BOX (control_hbox), hbox, TRUE, TRUE, 0);
+ gtk_widget_show (hbox);
+
+ spin_size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+
+ spin_button = gtk_spin_button_new_with_range(10, 1000, 5);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
+ g_object_set_data(G_OBJECT(spin_button), "MultiloadApplet", ma);
+ g_object_set_data(G_OBJECT(spin_button), "prop_type",
+ GINT_TO_POINTER(PROP_SIZE));
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),
+ (gdouble)g_settings_get_int(ma->settings, "size"));
+ g_signal_connect(G_OBJECT(spin_button), "value_changed",
+ G_CALLBACK(spin_button_changed_cb), "size");
+
+ if ( ! g_settings_is_writable (ma->settings, "size")) {
+ hard_set_sensitive (label, FALSE);
+ hard_set_sensitive (hbox, FALSE);
+ }
+
+ gtk_size_group_add_widget (spin_size, spin_button);
+ gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE, 0);
+
+ label = gtk_label_new (_("pixels"));
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
+ gtk_widget_show (control_hbox);
+
+ label = gtk_label_new_with_mnemonic(_("Sys_tem monitor update interval: "));
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
+ gtk_size_group_add_widget (label_size, label);
+ gtk_box_pack_start (GTK_BOX (control_hbox), label, FALSE, FALSE, 0);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ gtk_box_pack_start (GTK_BOX (control_hbox), hbox, TRUE, TRUE, 0);
+ gtk_widget_show (hbox);
+
+ spin_button = gtk_spin_button_new_with_range(50, 10000, 50);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
+ g_object_set_data(G_OBJECT(spin_button), "MultiloadApplet", ma);
+ g_object_set_data(G_OBJECT(spin_button), "prop_type",
+ GINT_TO_POINTER(PROP_SPEED));
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),
+ (gdouble)g_settings_get_int (ma->settings, "speed"));
+ g_signal_connect(G_OBJECT(spin_button), "value_changed",
+ G_CALLBACK(spin_button_changed_cb), "speed");
+ gtk_size_group_add_widget (spin_size, spin_button);
+ gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE, 0);
+
+ if ( ! g_settings_is_writable (ma->settings, "speed")) {
+ hard_set_sensitive (label, FALSE);
+ hard_set_sensitive (hbox, FALSE);
+ }
+
+ label = gtk_label_new(_("milliseconds"));
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ g_free(label_text);
+
+
+ category_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+ gtk_box_pack_start (GTK_BOX (categories_vbox), category_vbox, TRUE, TRUE, 0);
+ gtk_widget_show (category_vbox);
+
+ title = g_strconcat ("<span weight=\"bold\">", _("Colors"), "</span>", NULL);
+ label = gtk_label_new (title);
+ gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
+ gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0);
+ gtk_box_pack_start (GTK_BOX (category_vbox), label, FALSE, FALSE, 0);
+ gtk_widget_show (label);
+ g_free (title);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_box_pack_start (GTK_BOX (category_vbox), hbox, TRUE, TRUE, 0);
+ gtk_widget_show (hbox);
+
+ indent = gtk_label_new (HIG_IDENTATION);
+ gtk_label_set_justify (GTK_LABEL (indent), GTK_JUSTIFY_LEFT);
+ gtk_box_pack_start (GTK_BOX (hbox), indent, FALSE, FALSE, 0);
+ gtk_widget_show (indent);
+
+ control_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+ gtk_box_pack_start (GTK_BOX (hbox), control_vbox, TRUE, TRUE, 0);
+ gtk_widget_show (control_vbox);
+
+ ma->notebook = gtk_notebook_new();
+ gtk_container_add (GTK_CONTAINER (control_vbox), ma->notebook);
+
+ page = add_page(ma->notebook, _("Processor"));
+ gtk_container_set_border_width (GTK_CONTAINER (page), 12);
+ add_color_selector(page, _("_User"), "cpuload-color0", ma);
+ add_color_selector(page, _("S_ystem"), "cpuload-color1", ma);
+ add_color_selector(page, _("N_ice"), "cpuload-color2", ma);
+ add_color_selector(page, _("I_OWait"), "cpuload-color3", ma);
+ add_color_selector(page, _("I_dle"), "cpuload-color4", ma);
+
+ page = add_page(ma->notebook, _("Memory"));
+ gtk_container_set_border_width (GTK_CONTAINER (page), 12);
+ add_color_selector(page, _("_User"), "memload-color0", ma);
+ add_color_selector(page, _("Sh_ared"), "memload-color1", ma);
+ add_color_selector(page, _("_Buffers"), "memload-color2", ma);
+ add_color_selector (page, _("Cach_ed"), "memload-color3", ma);
+ add_color_selector(page, _("F_ree"), "memload-color4", ma);
+
+ page = add_page(ma->notebook, _("Network"));
+ gtk_container_set_border_width (GTK_CONTAINER (page), 12);
+ add_color_selector (page, _("_In"), "netload2-color0", ma);
+ add_color_selector(page, _("_Out"), "netload2-color1", ma);
+ add_color_selector (page, _("_Local"), "netload2-color2", ma);
+ add_color_selector(page, _("_Background"), "netload2-color3", ma);
+ add_color_selector(page, _("_Gridline"), "netload2-color4", ma);
+ add_color_selector(page, _("_Indicator"), "netload2-color5", ma);
+
+ page = add_page(ma->notebook, _("Swap Space"));
+ gtk_container_set_border_width (GTK_CONTAINER (page), 12);
+ add_color_selector(page, _("_Used"), "swapload-color0", ma);
+ add_color_selector(page, _("_Free"), "swapload-color1", ma);
+
+ page = add_page(ma->notebook, _("Load"));
+ gtk_container_set_border_width (GTK_CONTAINER (page), 12);
+ add_color_selector(page, _("_Average"), "loadavg-color0", ma);
+ add_color_selector(page, _("_Background"), "loadavg-color1", ma);
+ add_color_selector(page, _("_Gridline"), "loadavg-color2", ma);
+
+ page = add_page (ma->notebook, _("Harddisk"));
+ gtk_container_set_border_width (GTK_CONTAINER (page), 12);
+ add_color_selector (page, _("_Read"), "diskload-color0", ma);
+ add_color_selector (page, _("_Write"), "diskload-color1", ma);
+ add_color_selector (page, _("_Background"), "diskload-color2", ma);
+ GtkWidget *nvme_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+ GtkWidget *nvme_checkbox = gtk_check_button_new_with_mnemonic (_("Use diskstats for NVMe"));
+ ma->nvme_diskstats = g_settings_get_boolean (ma->settings, "diskload-nvme-diskstats");
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (nvme_checkbox),
+ ma->nvme_diskstats);
+ g_signal_connect (G_OBJECT (nvme_checkbox), "toggled",
+ G_CALLBACK (nvme_checkbox_toggled_cb), ma);
+ gtk_box_pack_start (GTK_BOX(nvme_box), nvme_checkbox, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(page), nvme_box, FALSE, FALSE, 0);
+ gtk_widget_show (nvme_box);
+
+ title = g_strconcat ("<span weight=\"bold\">", _("Network speed thresholds"), "</span>", NULL);
+ label = gtk_label_new (title);
+ gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
+ gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0);
+ gtk_box_pack_start (GTK_BOX (category_vbox), label, FALSE, FALSE, 0);
+ gtk_widget_show (label);
+ g_free (title);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_box_pack_start (GTK_BOX (category_vbox), hbox, TRUE, TRUE, 0);
+ gtk_widget_show (hbox);
+
+ indent = gtk_label_new (HIG_IDENTATION);
+ gtk_label_set_justify (GTK_LABEL (indent), GTK_JUSTIFY_LEFT);
+ gtk_box_pack_start (GTK_BOX (hbox), indent, FALSE, FALSE, 0);
+ gtk_widget_show (indent);
+
+ control_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+ gtk_box_pack_start (GTK_BOX (hbox), control_vbox, TRUE, TRUE, 0);
+ gtk_widget_show (control_vbox);
+
+ control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
+ gtk_widget_show (control_hbox);
+
+ label_size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+
+ label_text = g_strdup(_("Threshold 1: "));
+ label = gtk_label_new_with_mnemonic(label_text);
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
+ gtk_size_group_add_widget (label_size, label);
+ gtk_box_pack_start (GTK_BOX (control_hbox), label, FALSE, FALSE, 0);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ gtk_box_pack_start (GTK_BOX (control_hbox), hbox, TRUE, TRUE, 0);
+ gtk_widget_show (hbox);
+
+ spin_size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+
+ spin_button = gtk_spin_button_new_with_range (MIN_NET_THRESHOLD1, MAX_NET_THRESHOLD1, 5);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
+ g_object_set_data(G_OBJECT(spin_button), "MultiloadApplet", ma);
+ g_object_set_data(G_OBJECT(spin_button), "prop_type",
+ GUINT_TO_POINTER(PROP_NET_THRESHOLD1));
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),
+ (gdouble)g_settings_get_uint(ma->settings, "netthreshold1"));
+ g_signal_connect(G_OBJECT(spin_button), "value_changed",
+ G_CALLBACK(spin_button_changed_cb), "netthreshold1");
+
+ if ( ! g_settings_is_writable (ma->settings, "netthreshold1"))
+ {
+ hard_set_sensitive (label, FALSE);
+ hard_set_sensitive (hbox, FALSE);
+ }
+
+ gtk_size_group_add_widget (spin_size, spin_button);
+ gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE, 0);
+
+ label = gtk_label_new (_("bytes"));
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
+ gtk_widget_show (control_hbox);
+
+ label = gtk_label_new_with_mnemonic(_("Threshold 2: "));
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
+ gtk_size_group_add_widget (label_size, label);
+ gtk_box_pack_start (GTK_BOX (control_hbox), label, FALSE, FALSE, 0);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ gtk_box_pack_start (GTK_BOX (control_hbox), hbox, TRUE, TRUE, 0);
+ gtk_widget_show (hbox);
+
+ spin_button = gtk_spin_button_new_with_range (MIN_NET_THRESHOLD2, MAX_NET_THRESHOLD2, 5);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
+ g_object_set_data(G_OBJECT(spin_button), "MultiloadApplet", ma);
+ g_object_set_data(G_OBJECT(spin_button), "prop_type",
+ GINT_TO_POINTER(PROP_NET_THRESHOLD2));
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),
+ (gdouble)g_settings_get_uint (ma->settings, "netthreshold2"));
+ g_signal_connect(G_OBJECT(spin_button), "value_changed",
+ G_CALLBACK(spin_button_changed_cb), "netthreshold2");
+ gtk_size_group_add_widget (spin_size, spin_button);
+ gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE, 0);
+
+ if ( ! g_settings_is_writable (ma->settings, "netthreshold2"))
+ {
+ hard_set_sensitive (label, FALSE);
+ hard_set_sensitive (hbox, FALSE);
+ }
+
+ label = gtk_label_new(_("bytes"));
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
+ gtk_widget_show (control_hbox);
+
+ label = gtk_label_new_with_mnemonic(_("Threshold 3: "));
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
+ gtk_size_group_add_widget (label_size, label);
+ gtk_box_pack_start (GTK_BOX (control_hbox), label, FALSE, FALSE, 0);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+ gtk_box_pack_start (GTK_BOX (control_hbox), hbox, TRUE, TRUE, 0);
+ gtk_widget_show (hbox);
+
+ spin_button = gtk_spin_button_new_with_range (MIN_NET_THRESHOLD3, MAX_NET_THRESHOLD3, 5);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
+ g_object_set_data(G_OBJECT(spin_button), "MultiloadApplet", ma);
+ g_object_set_data(G_OBJECT(spin_button), "prop_type",
+ GINT_TO_POINTER(PROP_NET_THRESHOLD3));
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),
+ (gdouble)g_settings_get_uint (ma->settings, "netthreshold3"));
+ g_signal_connect(G_OBJECT(spin_button), "value_changed",
+ G_CALLBACK(spin_button_changed_cb), "netthreshold3");
+ gtk_size_group_add_widget (spin_size, spin_button);
+ gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE, 0);
+
+ if ( ! g_settings_is_writable (ma->settings, "netthreshold3"))
+ {
+ hard_set_sensitive (label, FALSE);
+ hard_set_sensitive (hbox, FALSE);
+ }
+
+ label = gtk_label_new(_("bytes"));
+ gtk_label_set_xalign (GTK_LABEL (label), 0.0f);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ g_free(label_text);
+
+ category_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+ gtk_box_pack_start (GTK_BOX (categories_vbox), category_vbox, TRUE, TRUE, 0);
+
+ control_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ gtk_box_pack_start (GTK_BOX (control_vbox), control_hbox, TRUE, TRUE, 0);
+ gtk_widget_show (control_hbox);
+
+ gtk_widget_show (category_vbox);
+
+ return;
}
/* show properties dialog */
void
multiload_properties_cb (GtkAction *action,
- MultiloadApplet *ma)
+ MultiloadApplet *ma)
{
- GtkWidget *dialog = NULL;
+ GtkWidget *dialog = NULL;
- if (ma->prop_dialog) {
- dialog = ma->prop_dialog;
+ if (ma->prop_dialog) {
+ dialog = ma->prop_dialog;
- gtk_window_set_screen (GTK_WINDOW (dialog),
- gtk_widget_get_screen (GTK_WIDGET (ma->applet)));
+ 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;
- }
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (ma->notebook),
+ ma->last_clicked);
+ gtk_window_present (GTK_WINDOW (dialog));
+ return;
+ }
- dialog = gtk_dialog_new_with_buttons (_("System Monitor Preferences"),
- NULL, 0,
- "gtk-help", GTK_RESPONSE_HELP,
- "gtk-close", GTK_RESPONSE_CLOSE,
- NULL);
- gtk_window_set_screen (GTK_WINDOW (dialog),
- gtk_widget_get_screen (GTK_WIDGET (ma->applet)));
- gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE);
- gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
- gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
- gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), 2);
+ dialog = gtk_dialog_new_with_buttons (_("System Monitor Preferences"),
+ NULL, 0,
+ "gtk-help", GTK_RESPONSE_HELP,
+ "gtk-close", GTK_RESPONSE_CLOSE,
+ NULL);
+ gtk_window_set_screen (GTK_WINDOW (dialog),
+ gtk_widget_get_screen (GTK_WIDGET (ma->applet)));
+ gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE);
+ gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
+ gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
+ gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), 2);
- fill_properties(dialog, ma);
+ fill_properties(dialog, ma);
- properties_set_insensitive(ma);
+ properties_set_insensitive(ma);
- g_signal_connect(G_OBJECT(dialog), "response",
- G_CALLBACK(properties_close_cb), ma);
+ g_signal_connect(G_OBJECT(dialog), "response",
+ G_CALLBACK(properties_close_cb), ma);
- ma->prop_dialog = dialog;
+ ma->prop_dialog = dialog;
- gtk_widget_show_all(dialog);
+ gtk_widget_show_all(dialog);
- gtk_notebook_set_current_page (GTK_NOTEBOOK (ma->notebook),
- ma->last_clicked);
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (ma->notebook),
+ ma->last_clicked);
}