!11 fix some bugs

From: @yuan__xing 
Reviewed-by: @tangjie02 
Signed-off-by: @tangjie02
This commit is contained in:
openeuler-ci-bot 2023-06-16 12:32:30 +00:00 committed by Gitee
commit 94a7647527
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
4 changed files with 149 additions and 189 deletions

View File

@ -1,142 +0,0 @@
From 79a028768f2e6ac28bf425e6597ff8aa61741456 Mon Sep 17 00:00:00 2001
From: songchuanfei <songchuanfei@kylinos.com.cn>
Date: Wed, 13 Jul 2022 05:56:39 -0400
Subject: [PATCH] fix[resource]: Fix resource page too large when system has
too many cpus
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 修复系统CPU数很多时资源页面太长无法看到全部的问题
Fixes #23294
Signed-off-by: songchuanfei <songchuanfei@kylinos.com.cn>
---
src/gsm_color_button.c | 8 +++-----
src/interface.cpp | 7 ++++++-
src/load-graph.cpp | 11 +----------
3 files changed, 10 insertions(+), 16 deletions(-)
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 2a5cbbf..e38915a 100644
--- a/src/interface.cpp
+++ b/src/interface.cpp
@@ -261,6 +261,7 @@ make_title_label (const char *text)
static GtkWidget *
create_sys_view (ProcData *procdata)
{
+ GtkWidget *scrolled;
GtkWidget *vbox, *hbox;
GtkWidget *cpu_box, *mem_box, *net_box;
GtkWidget *cpu_graph_box, *mem_graph_box, *net_graph_box;
@@ -277,6 +278,8 @@ create_sys_view (ProcData *procdata)
gchar *label_text;
gchar *title_template;
+ scrolled = gtk_scrolled_window_new(NULL, NULL);
+
// Translators: color picker title, %s is CPU, Memory, Swap, Receiving, Sending
title_template = g_strdup(_("Pick a Color for '%s'"));
@@ -558,7 +561,9 @@ create_sys_view (ProcData *procdata)
procdata->net_graph = net_graph;
g_free(title_template);
- return vbox_top;
+ gtk_container_add(GTK_CONTAINER(scrolled), vbox);
+
+ return scrolled;
}
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<LoadGraph*>(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;
}
--
2.33.0

View File

@ -1,7 +1,29 @@
diff -Naur mate-system-monitor-1.22.2/src/callbacks.cpp mate-system-monitor-1.22.2-a/src/callbacks.cpp
--- mate-system-monitor-1.22.2/src/callbacks.cpp 2019-09-22 22:08:46.000000000 +0800
+++ mate-system-monitor-1.22.2-a/src/callbacks.cpp 2020-03-28 12:35:12.965853386 +0800
@@ -268,12 +268,14 @@
From 023e9c8907b96c4bab49fd2e1f6c0bef485bf8b9 Mon Sep 17 00:00:00 2001
From: root <root@localhost.localdomain>
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,
@ -18,7 +40,7 @@ diff -Naur mate-system-monitor-1.22.2/src/callbacks.cpp mate-system-monitor-1.22
color = gdk_rgba_to_string (&c);
g_settings_set_string (settings, key, color);
g_free (color);
@@ -281,7 +283,8 @@
@@ -281,7 +283,8 @@ static void change_settings_color(GSettings *settings, const char *key,
void
@ -28,7 +50,7 @@ diff -Naur mate-system-monitor-1.22.2/src/callbacks.cpp mate-system-monitor-1.22
{
char key[80];
gint i = GPOINTER_TO_INT (data);
@@ -293,7 +296,8 @@
@@ -293,7 +296,8 @@ cb_cpu_color_changed (GSMColorButton *cp, gpointer data)
}
void
@ -38,7 +60,7 @@ diff -Naur mate-system-monitor-1.22.2/src/callbacks.cpp mate-system-monitor-1.22
{
ProcData * const procdata = static_cast<ProcData*>(data);
change_settings_color(procdata->settings, "mem-color", cp);
@@ -301,21 +305,24 @@
@@ -301,21 +305,24 @@ cb_mem_color_changed (GSMColorButton *cp, gpointer data)
void
@ -66,10 +88,11 @@ diff -Naur mate-system-monitor-1.22.2/src/callbacks.cpp mate-system-monitor-1.22
{
ProcData * const procdata = static_cast<ProcData*>(data);
change_settings_color(procdata->settings, "net-out-color", cp);
diff -Naur mate-system-monitor-1.22.2/src/callbacks.h mate-system-monitor-1.22.2-a/src/callbacks.h
--- mate-system-monitor-1.22.2/src/callbacks.h 2019-09-22 22:08:46.000000000 +0800
+++ mate-system-monitor-1.22.2-a/src/callbacks.h 2020-03-28 12:35:14.005900752 +0800
@@ -46,11 +46,16 @@
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);
@ -91,10 +114,56 @@ diff -Naur mate-system-monitor-1.22.2/src/callbacks.h mate-system-monitor-1.22.2
void cb_row_selected (GtkTreeSelection *selection, gpointer data);
diff -Naur mate-system-monitor-1.22.2/src/interface.cpp mate-system-monitor-1.22.2-a/src/interface.cpp
--- mate-system-monitor-1.22.2/src/interface.cpp 2019-09-22 22:08:46.000000000 +0800
+++ mate-system-monitor-1.22.2-a/src/interface.cpp 2020-03-28 12:34:11.383048754 +0800
@@ -269,6 +269,8 @@
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;
@ -103,7 +172,7 @@ diff -Naur mate-system-monitor-1.22.2/src/interface.cpp mate-system-monitor-1.22
gint i;
gchar *title_text;
@@ -278,7 +280,11 @@
@@ -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'"));
@ -115,7 +184,7 @@ diff -Naur mate-system-monitor-1.22.2/src/interface.cpp mate-system-monitor-1.22
gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
@@ -324,7 +330,9 @@
@@ -324,7 +330,9 @@ create_sys_view (ProcData *procdata)
gtk_grid_attach(GTK_GRID(cpu_grid), temp_hbox,
i % 4, i / 4, 1, 1);
@ -126,7 +195,7 @@ diff -Naur mate-system-monitor-1.22.2/src/interface.cpp mate-system-monitor-1.22
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 @@
@@ -336,7 +344,8 @@ create_sys_view (ProcData *procdata)
}
title_text = g_strdup_printf(title_template, label_text);
label = gtk_label_new (label_text);
@ -136,7 +205,7 @@ diff -Naur mate-system-monitor-1.22.2/src/interface.cpp mate-system-monitor-1.22
g_free(title_text);
gtk_box_pack_start (GTK_BOX (temp_hbox), label, FALSE, FALSE, 6);
g_free (label_text);
@@ -346,6 +355,7 @@
@@ -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;
@ -144,7 +213,7 @@ diff -Naur mate-system-monitor-1.22.2/src/interface.cpp mate-system-monitor-1.22
}
@@ -548,7 +558,7 @@
@@ -548,7 +558,7 @@ create_sys_view (ProcData *procdata)
procdata->net_graph = net_graph;
g_free(title_template);
@ -153,9 +222,53 @@ diff -Naur mate-system-monitor-1.22.2/src/interface.cpp mate-system-monitor-1.22
}
static void
diff -Naur mate-system-monitor-1.22.2/src/org.mate.system-monitor.gschema.xml.in mate-system-monitor-1.22.2-a/src/org.mate.system-monitor.gschema.xml.in
--- mate-system-monitor-1.22.2/src/org.mate.system-monitor.gschema.xml.in 2019-09-22 22:08:46.000000000 +0800
+++ mate-system-monitor-1.22.2-a/src/org.mate.system-monitor.gschema.xml.in 2020-03-28 12:52:44.965764307 +0800
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<LoadGraph*>(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 @@
<summary>Default graph CPU color</summary>
</key>
@ -237,8 +350,8 @@ diff -Naur mate-system-monitor-1.22.2/src/org.mate.system-monitor.gschema.xml.in
<key name="cpu-color31" type="s">
- <default>'#339999'</default>
+ <default>'#1A7F07'</default>
<summary>Default graph CPU color</summary>
</key>
+ <summary>Default graph CPU color</summary>
+ </key>
+ <key name="cpu-color32" type="s">
+ <default>'#5EA451'</default>
+ <summary>Default graph CPU color</summary>
@ -349,8 +462,8 @@ diff -Naur mate-system-monitor-1.22.2/src/org.mate.system-monitor.gschema.xml.in
+ </key>
+ <key name="cpu-color59" type="s">
+ <default>'#A0A183'</default>
+ <summary>Default graph CPU color</summary>
+ </key>
<summary>Default graph CPU color</summary>
</key>
+ <key name="cpu-color60" type="s">
+ <default>'#50524D'</default>
+ <summary>Default graph CPU color</summary>
@ -498,3 +611,6 @@ diff -Naur mate-system-monitor-1.22.2/src/org.mate.system-monitor.gschema.xml.in
<key name="mem-color" type="s">
<default>'#AB1852'</default>
<summary>Default graph memory color</summary>
--
2.33.0

View File

@ -1,15 +0,0 @@
diff -Naur mate-system-monitor-1.22.2/src/sysinfo.cpp mate-system-monitor-1.22.2-b/src/sysinfo.cpp
--- mate-system-monitor-1.22.2/src/sysinfo.cpp 2019-09-22 22:08:46.000000000 +0800
+++ mate-system-monitor-1.22.2-b/src/sysinfo.cpp 2020-01-07 15:35:03.326925915 +0800
@@ -920,8 +920,10 @@
g_free(markup);
markup = NULL;
+ //add_row(GTK_GRID(hardware_table), _("Processor:"),
+ // data->processors.c_str(), 1);
add_row(GTK_GRID(hardware_table), _("Processor:"),
- data->processors.c_str(), 1);
+ "96x ARM", 1);
if(markup)
g_free(markup);

View File

@ -1,18 +1,15 @@
Name: mate-system-monitor
Version: 1.22.2
Release: 5
Release: 6
Summary: Process and resource monitor
License: GPLv2+
URL: http://mate-desktop.org
Source0: http://pub.mate-desktop.org/releases/1.22/%{name}-%{version}.tar.xz
Patch0: mate-system-monitor-add-cpuinfo.patch
Patch1: mate-system-monitor-change-cpu-too-much-and-color.patch
Patch1001: 0001-kylin-modify-desktop.patch
Patch1002: 0001-modify-mate-system-monitor.desktop.in.in.patch
Patch1003: 0002-modify-mate-system-monitor.desktop.in.patch
Patch1004: 0001-fix-resource-Fix-resource-page-too-large-when-system.patch
Patch1004: 0001-fix-resource-fix-resource-page-too-large-and-add-cpu.patch
Patch1005: 0001-fix-add-cpu-color-key-to-127-for-solve-the-quit-bug-.patch
Patch1006: 1006-fix-get-pcpu-with-double-to-solve-the-cpu-don-t-chan-109131eb.patch
Patch1007: 1007-fix-control-center-fix-mate-system-monitor-is-not-di-e6a06177.patch
@ -73,6 +70,10 @@ desktop-file-install --delete-original \
%changelog
* Thu Jun 15 2023 yuanxing <yuanxing@kylinos.com.cn> - 1.22.2-6
- KYOS-F: merge two patch due to conflicts of resource page scroll window(#6964)
- KYOS-F: remove "add cpuinfo patch" to get correct cpu hardware info(#6965)
* Thu Jul 14 2022 longcheng <longcheng@kylinos.com.cn> - 1.22.2-5
- kylin modify desktop
- KYOS-F: add X-KIRAN-NoDisplay=true in mate-system-monitor.desktop.in.in and mate-system-monitor.desktop.in (#28092)