From 023e9c8907b96c4bab49fd2e1f6c0bef485bf8b9 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 4 Aug 2022 15:25:07 +0800 Subject: [PATCH] fix(resource):fix resource page too large and add cpu color in gschema.xml when system has too many cpus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改当系统cpu过多时资源页面显示不全问题,在gschema.xml文件中添加cpu颜色 fix I5H529 --- src/callbacks.cpp | 21 +- src/callbacks.h | 15 +- src/gsm_color_button.c | 8 +- src/interface.cpp | 16 +- src/load-graph.cpp | 11 +- src/org.mate.system-monitor.gschema.xml.in | 288 +++++++++++++++++++-- 6 files changed, 313 insertions(+), 46 deletions(-) diff --git a/src/callbacks.cpp b/src/callbacks.cpp index 149e955..e05fab8 100644 --- a/src/callbacks.cpp +++ b/src/callbacks.cpp @@ -268,12 +268,14 @@ cb_end_process_button_pressed (GtkButton *button, gpointer data) static void change_settings_color(GSettings *settings, const char *key, - GSMColorButton *cp) + GtkColorButton *cp) + //GSMColorButton *cp) { GdkRGBA c; char *color; - gsm_color_button_get_color(cp, &c); + //gsm_color_button_get_color(cp, &c); + gtk_color_button_get_rgba(cp, &c); color = gdk_rgba_to_string (&c); g_settings_set_string (settings, key, color); g_free (color); @@ -281,7 +283,8 @@ static void change_settings_color(GSettings *settings, const char *key, void -cb_cpu_color_changed (GSMColorButton *cp, gpointer data) +cb_cpu_color_changed (GtkColorButton *cp, gpointer data) +//cb_cpu_color_changed (GSMColorButton *cp, gpointer data) { char key[80]; gint i = GPOINTER_TO_INT (data); @@ -293,7 +296,8 @@ cb_cpu_color_changed (GSMColorButton *cp, gpointer data) } void -cb_mem_color_changed (GSMColorButton *cp, gpointer data) +cb_mem_color_changed (GtkColorButton *cp, gpointer data) +//cb_mem_color_changed (GSMColorButton *cp, gpointer data) { ProcData * const procdata = static_cast(data); change_settings_color(procdata->settings, "mem-color", cp); @@ -301,21 +305,24 @@ cb_mem_color_changed (GSMColorButton *cp, gpointer data) void -cb_swap_color_changed (GSMColorButton *cp, gpointer data) +cb_swap_color_changed (GtkColorButton *cp, gpointer data) +//cb_swap_color_changed (GSMColorButton *cp, gpointer data) { ProcData * const procdata = static_cast(data); change_settings_color(procdata->settings, "swap-color", cp); } void -cb_net_in_color_changed (GSMColorButton *cp, gpointer data) +cb_net_in_color_changed (GtkColorButton *cp, gpointer data) +//cb_net_in_color_changed (GSMColorButton *cp, gpointer data) { ProcData * const procdata = static_cast(data); change_settings_color(procdata->settings, "net-in-color", cp); } void -cb_net_out_color_changed (GSMColorButton *cp, gpointer data) +cb_net_out_color_changed (GtkColorButton *cp, gpointer data) +//cb_net_out_color_changed (GSMColorButton *cp, gpointer data) { ProcData * const procdata = static_cast(data); change_settings_color(procdata->settings, "net-out-color", cp); diff --git a/src/callbacks.h b/src/callbacks.h index 69f5056..3e5c9f4 100644 --- a/src/callbacks.h +++ b/src/callbacks.h @@ -46,11 +46,16 @@ void cb_logout (GtkButton *button, gpointer data); void cb_info_button_pressed (GtkButton *button, gpointer user_data); -void cb_cpu_color_changed (GSMColorButton *widget, gpointer user_data); -void cb_mem_color_changed (GSMColorButton *widget, gpointer user_data); -void cb_swap_color_changed (GSMColorButton *widget, gpointer user_data); -void cb_net_in_color_changed (GSMColorButton *widget, gpointer user_data); -void cb_net_out_color_changed (GSMColorButton *widget, gpointer user_data); +//void cb_cpu_color_changed (GSMColorButton *widget, gpointer user_data); +void cb_cpu_color_changed (GtkColorButton *widget, gpointer user_data); +//void cb_mem_color_changed (GSMColorButton *widget, gpointer user_data); +void cb_mem_color_changed (GtkColorButton *widget, gpointer user_data); +//void cb_swap_color_changed (GSMColorButton *widget, gpointer user_data); +void cb_swap_color_changed (GtkColorButton *widget, gpointer user_data); +//void cb_net_in_color_changed (GSMColorButton *widget, gpointer user_data); +void cb_net_in_color_changed (GtkColorButton *widget, gpointer user_data); +//void cb_net_out_color_changed (GSMColorButton *widget, gpointer user_data); +void cb_net_out_color_changed (GtkColorButton *widget, gpointer user_data); void cb_row_selected (GtkTreeSelection *selection, gpointer data); diff --git a/src/gsm_color_button.c b/src/gsm_color_button.c index 3148c34..35d2710 100644 --- a/src/gsm_color_button.c +++ b/src/gsm_color_button.c @@ -227,7 +227,7 @@ fill_image_buffer_from_file (cairo_t *cr, const char *filePath) static void -render (GtkWidget * widget) +render (GtkWidget * widget, cairo_t *cr) { GSMColorButtonPrivate *priv; GSMColorButton *color_button = GSM_COLOR_BUTTON (widget); @@ -236,7 +236,6 @@ render (GtkWidget * widget) GdkRGBA *color; GdkRGBA tmp_color = priv->color; color = &tmp_color; - cairo_t *cr = gdk_cairo_create (gtk_widget_get_window (widget)); cairo_path_t *path = NULL; gint width, height; gdouble radius, arc_start, arc_end; @@ -405,13 +404,12 @@ render (GtkWidget * widget) break; } - cairo_destroy (cr); } /* Handle exposure events for the color picker's drawing area */ static gboolean draw (GtkWidget * widget, cairo_t * cr, gpointer data) { - render (GTK_WIDGET (data)); + render (GTK_WIDGET (data), cr); return FALSE; } @@ -420,7 +418,7 @@ static void gsm_color_button_realize (GtkWidget * widget) { GTK_WIDGET_CLASS (gsm_color_button_parent_class)->realize (widget); - render (widget); + gtk_widget_queue_draw(widget); } static void gsm_color_button_get_preferred_width (GtkWidget * widget, gint * minimum_width, gint * natural_width) diff --git a/src/interface.cpp b/src/interface.cpp index f7dbe84..2a5cbbf 100644 --- a/src/interface.cpp +++ b/src/interface.cpp @@ -269,6 +269,8 @@ create_sys_view (ProcData *procdata) GtkWidget *color_picker; GtkWidget *mem_legend_box, *net_legend_box; LoadGraph *cpu_graph, *mem_graph, *net_graph; + GtkWidget *scrolledWindow; + GtkWidget *vbox_top; gint i; gchar *title_text; @@ -278,7 +280,11 @@ create_sys_view (ProcData *procdata) // Translators: color picker title, %s is CPU, Memory, Swap, Receiving, Sending title_template = g_strdup(_("Pick a Color for '%s'")); + vbox_top = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18); + scrolledWindow = gtk_scrolled_window_new(NULL,NULL); + gtk_box_pack_start (GTK_BOX (vbox_top), scrolledWindow, TRUE, TRUE, 0); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18); + gtk_container_add(GTK_CONTAINER (scrolledWindow),vbox); gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); @@ -324,7 +330,9 @@ create_sys_view (ProcData *procdata) gtk_grid_attach(GTK_GRID(cpu_grid), temp_hbox, i % 4, i / 4, 1, 1); - color_picker = gsm_color_button_new (&cpu_graph->colors.at(i), GSMCP_TYPE_CPU); + //color_picker = gsm_color_button_new (&cpu_graph->colors.at(i), GSMCP_TYPE_CPU); + //color_picker = gtk_color_button_new (); + color_picker = gtk_color_button_new_with_rgba(&cpu_graph->colors.at(i)); g_signal_connect (G_OBJECT (color_picker), "color_set", G_CALLBACK (cb_cpu_color_changed), GINT_TO_POINTER (i)); gtk_box_pack_start (GTK_BOX (temp_hbox), color_picker, FALSE, TRUE, 0); @@ -336,7 +344,8 @@ create_sys_view (ProcData *procdata) } title_text = g_strdup_printf(title_template, label_text); label = gtk_label_new (label_text); - gsm_color_button_set_title(GSM_COLOR_BUTTON(color_picker), title_text); + //gsm_color_button_set_title(GSM_COLOR_BUTTON(color_picker), title_text); + gtk_color_button_set_title(GTK_COLOR_BUTTON(color_picker), title_text); g_free(title_text); gtk_box_pack_start (GTK_BOX (temp_hbox), label, FALSE, FALSE, 6); g_free (label_text); @@ -346,6 +355,7 @@ create_sys_view (ProcData *procdata) gtk_box_pack_start (GTK_BOX (temp_hbox), cpu_label, TRUE, TRUE, 0); load_graph_get_labels(cpu_graph)->cpu[i] = cpu_label; + gtk_widget_show(color_picker); } @@ -548,7 +558,7 @@ create_sys_view (ProcData *procdata) procdata->net_graph = net_graph; g_free(title_template); - return vbox; + return vbox_top; } static void diff --git a/src/load-graph.cpp b/src/load-graph.cpp index b24f977..2e294b9 100644 --- a/src/load-graph.cpp +++ b/src/load-graph.cpp @@ -220,7 +220,7 @@ load_graph_configure (GtkWidget *widget, return TRUE; } -static gboolean load_graph_draw (GtkWidget *widget, cairo_t *context, gpointer data_ptr) +static gboolean load_graph_draw (GtkWidget *widget, cairo_t *cr, gpointer data_ptr) { LoadGraph * const graph = static_cast(data_ptr); GdkWindow *window; @@ -239,10 +239,6 @@ static gboolean load_graph_draw (GtkWidget *widget, cairo_t *context, gpointer d x_offset += graph->rmargin - ((sample_width / graph->frames_per_unit) * graph->render_counter); /* draw the graph */ - cairo_t* cr; - - cr = gdk_cairo_create (window); - if (graph->background == NULL) { draw_background(graph); } @@ -252,9 +248,6 @@ static gboolean load_graph_draw (GtkWidget *widget, cairo_t *context, gpointer d cairo_set_line_width (cr, 1); cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND); - cairo_rectangle (cr, graph->rmargin + graph->indent + FRAME_WIDTH + 1, FRAME_WIDTH - 1, - graph->draw_width - graph->rmargin - graph->indent - 1, graph->real_draw_height + FRAME_WIDTH - 1); - cairo_clip(cr); for (j = 0; j < graph->n; ++j) { cairo_move_to (cr, x_offset, (1.0f - graph->data[0][j]) * graph->real_draw_height); @@ -275,8 +268,6 @@ static gboolean load_graph_draw (GtkWidget *widget, cairo_t *context, gpointer d } - cairo_destroy (cr); - return TRUE; } diff --git a/src/org.mate.system-monitor.gschema.xml.in b/src/org.mate.system-monitor.gschema.xml.in index 703923d..1183469 100644 --- a/src/org.mate.system-monitor.gschema.xml.in +++ b/src/org.mate.system-monitor.gschema.xml.in @@ -117,69 +117,325 @@ Default graph CPU color - '#339999' + '#580606' Default graph CPU color - '#339999' + '#514C47' Default graph CPU color - '#339999' + '#F5881A' Default graph CPU color - '#339999' + '#BF6811' Default graph CPU color - '#339999' + '#5C3F21' Default graph CPU color - '#339999' + '#B6AA9E' Default graph CPU color - '#339999' + '#CCE041' Default graph CPU color - '#339999' + '#BAD30E' Default graph CPU color - '#339999' + '#90A118' Default graph CPU color - '#339999' + '#5F6A11' Default graph CPU color - '#339999' + '#DFE7A8' Default graph CPU color - '#339999' + '#95978E' Default graph CPU color - '#339999' + '#636656' Default graph CPU color - '#339999' + '#37F111' Default graph CPU color - '#339999' + '#97FB83' Default graph CPU color - '#339999' + '#1A7F07' + Default graph CPU color + + + '#5EA451' + Default graph CPU color + + + '#3B4738' + Default graph CPU color + + + '#88B193' + Default graph CPU color + + + '#5169C0' + Default graph CPU color + + + '#A6B2E1' + Default graph CPU color + + + '#0434F1' + Default graph CPU color + + + '#67729C' + Default graph CPU color + + + '#253987' + Default graph CPU color + + + '#7180BB' + Default graph CPU color + + + '#1F2641' + Default graph CPU color + + + '#C077C2' + Default graph CPU color + + + '#5D085F' + Default graph CPU color + + + '#735774' + Default graph CPU color + + + '#861C8A' + Default graph CPU color + + + '#968297' + Default graph CPU color + + + '#E8AEEB' + Default graph CPU color + + + '#9A03A2' + Default graph CPU color + + + '#6C316E' + Default graph CPU color + + + '#99369C' + Default graph CPU color + + + '#F70798' + Default graph CPU color + + + '#9E0C64' + Default graph CPU color + + + '#4B0A31' + Default graph CPU color + + + '#FA77C6' + Default graph CPU color + + + '#7B16E1' + Default graph CPU color + + + '#BF8EF1' + Default graph CPU color + + + '#5E516B' + Default graph CPU color + + + '#595A1E' + Default graph CPU color + + + '#A0A183' Default graph CPU color + + '#50524D' + Default graph CPU color + + + '#42640F' + Default graph CPU color + + + '#0C3534' + Default graph CPU color + + + '#5A8F89' + Default graph CPU color + + + '#C99EB1' + Default graph CPU color + + + '#B9A1AC' + Default graph CPU color + + + '#76931C' + Default graph CPU color + + + '#116461' + Default graph CPU color + + + '#3D5453' + Default graph CPU color + + + '#155867' + Default graph CPU color + + + '#3476B7' + Default graph CPU color + + + '#76B0EA' + Default graph CPU color + + + '#7704FC' + Default graph CPU color + + + '#A98C77' + Default graph CPU color + + + '#D0762D' + Default graph CPU color + + + '#020202' + Default graph CPU color + + + '#94905C' + Default graph CPU color + + + '#552235' + Default graph CPU color + + + '#6C5B61' + Default graph CPU color + + + '#AF875E' + Default graph CPU color + + + '#5D4F42' + Default graph CPU color + + + '#3E4B2A' + Default graph CPU color + + + '#7D7E7D' + Default graph CPU color + + + '#FE666E' + Default graph CPU color + + + '#0F3E35' + Default graph CPU color + + + '#677B76' + Default graph CPU color + + + '#8C899A' + Default graph CPU color + + + '#454D4E' + Default graph CPU color + + + '#CDDDD7' + Default graph CPU color + + + '#2C4422' + Default graph CPU color + + + '#DED0E2' + Default graph CPU color + + + '#A76E53' + Default graph CPU color + + + '#645258' + Default graph CPU color + + + '#FD0B69' + Default graph CPU color + + + '#CCCBEE' + Default graph CPU color + + + '#06FFDA' + Default graph CPU color + '#AB1852' Default graph memory color -- 2.33.0