Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xfce4-cpugraph-plugin for
openSUSE:Factory checked in at 2021-02-15 23:20:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfce4-cpugraph-plugin (Old)
and /work/SRC/openSUSE:Factory/.xfce4-cpugraph-plugin.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xfce4-cpugraph-plugin"
Mon Feb 15 23:20:52 2021 rev:4 rq:872608 version:1.2.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/xfce4-cpugraph-plugin/xfce4-cpugraph-plugin.changes
2021-02-01 13:30:31.662314628 +0100
+++
/work/SRC/openSUSE:Factory/.xfce4-cpugraph-plugin.new.28504/xfce4-cpugraph-plugin.changes
2021-02-15 23:23:08.640009103 +0100
@@ -1,0 +2,11 @@
+Sun Feb 14 22:05:58 UTC 2021 - Marcel Kuehlhorn <[email protected]>
+
+- Update to version 1.2.2
+ * Record CPU load data even if the chart is currently disabled
+ * Validate size against minimum and maximum allowed values
+ * Change semantics of the non-linear time-scale mode
+ * Fix corner cases when rendering the grid and LED modes
+ * Show SMT stats tooltip only when needed
+ * Translation Updates
+
+-------------------------------------------------------------------
Old:
----
xfce4-cpugraph-plugin-1.2.1.tar.bz2
New:
----
xfce4-cpugraph-plugin-1.2.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xfce4-cpugraph-plugin.spec ++++++
--- /var/tmp/diff_new_pack.txNUOh/_old 2021-02-15 23:23:09.228009981 +0100
+++ /var/tmp/diff_new_pack.txNUOh/_new 2021-02-15 23:23:09.232009987 +0100
@@ -20,7 +20,7 @@
%define plugin cpugraph
%bcond_with git
Name: xfce4-%{plugin}-plugin
-Version: 1.2.1
+Version: 1.2.2
Release: 0
Summary: CPU Graph Plugin for the Xfce Panel
License: GPL-2.0-or-later
++++++ xfce4-cpugraph-plugin-1.2.1.tar.bz2 ->
xfce4-cpugraph-plugin-1.2.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xfce4-cpugraph-plugin-1.2.1/ChangeLog
new/xfce4-cpugraph-plugin-1.2.2/ChangeLog
--- old/xfce4-cpugraph-plugin-1.2.1/ChangeLog 2021-01-30 15:30:21.000000000
+0100
+++ new/xfce4-cpugraph-plugin-1.2.2/ChangeLog 2021-02-14 18:50:14.000000000
+0100
@@ -1,3 +1,90 @@
+commit ff5c8db0b3f095f18c5a40f781f0947bea4f72c6
+Author: Jan Ziak <[email protected]>
+Date: Sun Feb 14 18:25:59 2021 +0100
+
+ Record CPU load data even if the chart is currently disabled
+
+ Recording the history of the CPU load has a very low overhead. There is
+ no benefit to be gained by disabling the recording.
+
+ Clear history when changing the tracked core. Do not clear history when
+ changing the mode to disabled.
+
+commit 612eeae757fb22af3b9dc4c116416ed1b9da9669
+Author: Jan Ziak <[email protected]>
+Date: Sun Feb 14 18:02:42 2021 +0100
+
+ Validate size against minimum and maximum allowed values
+
+commit 7dac8fed3862b71b7732dd53ec4f1e0eddd4b10a
+Author: Jan Ziak <[email protected]>
+Date: Sat Feb 13 21:58:32 2021 +0100
+
+ Change semantics of the non-linear time-scale mode
+
+ This patch changes the semantics of the non-linear mode from scaling the
+ y-axis (CPU load) to scaling the x-axis (time). This enables the cpugraph
+ plugin to display CPU load history up to 16 hours into the past using
+ a width of just 128 pixels in case the update interval is 3 seconds.
+
+ Width: 128 60 128 60
+ Interval: 3 3 0.25 0.25
+ => Linear range: 6m 3m 32s 15s
+ => Non-linear range: 16h 31m 80m 2.6m
+
+ The implementation uses an exponential function with base 1.04.
+
+ The behavior of scaling the y-axis (CPU load) according to how far it is
+ in the past can be restored in a future patch upon request.
+
+ Closes:
https://gitlab.xfce.org/panel-plugins/xfce4-cpugraph-plugin/-/issues/18
+ Closes:
https://gitlab.xfce.org/panel-plugins/xfce4-cpugraph-plugin/-/issues/19
+ Closes:
https://gitlab.xfce.org/panel-plugins/xfce4-cpugraph-plugin/-/issues/20
+
+commit 548ebac62549864d2c2acdcb0033aa49cdd837e1
+Author: Anonymous <[email protected]>
+Date: Sun Feb 14 12:50:23 2021 +0100
+
+ I18n: Update translation el (70%).
+
+ 38 translated messages, 16 untranslated messages.
+
+ Transifex (https://www.transifex.com/xfce/public/).
+
+commit 889be68d93e18132f8bef5d156631b6340c76ddd
+Author: Jan Ziak <[email protected]>
+Date: Sat Feb 13 18:04:28 2021 +0100
+
+ Fix corner cases when rendering the grid and LED modes
+
+commit d2a2a84d784f3693c4a9d519c460898815d883d6
+Author: Jan Ziak <[email protected]>
+Date: Wed Feb 10 21:39:01 2021 +0100
+
+ Show SMT stats tooltip only when needed
+
+commit 558863f5b7aef88ee8474a36068ad5eb95dcdd7b
+Author: Robert Antoni Buj Gelonch <[email protected]>
+Date: Wed Feb 3 12:50:04 2021 +0100
+
+ I18n: Update translation ca (85%).
+
+ 46 translated messages, 8 untranslated messages.
+
+ Transifex (https://www.transifex.com/xfce/public/).
+
+commit 81bbfd05e7c31f6a601f36200d3c0bac67da8198
+Author: Jan Ziak <[email protected]>
+Date: Sat Jan 30 15:37:01 2021 +0100
+
+ Back to development
+
+commit 31cba658719add81e66ee4e2c1a6b3a921299e3c
+Author: Jan Ziak <[email protected]>
+Date: Sat Jan 30 15:30:35 2021 +0100
+
+ Updates for release
+
commit a3875c3ac3cc116b25b3bb41ea8421236a0774cb
Author: Ga??l Bonithon <[email protected]>
Date: Fri Jan 29 10:27:07 2021 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xfce4-cpugraph-plugin-1.2.1/NEWS
new/xfce4-cpugraph-plugin-1.2.2/NEWS
--- old/xfce4-cpugraph-plugin-1.2.1/NEWS 2021-01-30 15:30:03.000000000
+0100
+++ new/xfce4-cpugraph-plugin-1.2.2/NEWS 2021-02-14 18:50:05.000000000
+0100
@@ -1,3 +1,13 @@
+1.2.2 (2021-02-14)
+=====
+- Record CPU load data even if the chart is currently disabled
+- Validate size against minimum and maximum allowed values
+- Change semantics of the non-linear time-scale mode
+- Fix corner cases when rendering the grid and LED modes
+- Show SMT stats tooltip only when needed
+- Translation Updates:
+ Catalan, Greek
+
1.2.1 (2021-01-30)
=====
- Repaint CPU load history after the user changes the update interval
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xfce4-cpugraph-plugin-1.2.1/configure
new/xfce4-cpugraph-plugin-1.2.2/configure
--- old/xfce4-cpugraph-plugin-1.2.1/configure 2021-01-30 15:30:20.000000000
+0100
+++ new/xfce4-cpugraph-plugin-1.2.2/configure 2021-02-14 18:50:12.000000000
+0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xfce4-cpugraph-plugin 1.2.1.
+# Generated by GNU Autoconf 2.69 for xfce4-cpugraph-plugin 1.2.2.
#
# Report bugs to
<https://gitlab.xfce.org/panel-plugins/xfce4-cpugraph-plugin/>.
#
@@ -591,8 +591,8 @@
# Identity of this package.
PACKAGE_NAME='xfce4-cpugraph-plugin'
PACKAGE_TARNAME='xfce4-cpugraph-plugin'
-PACKAGE_VERSION='1.2.1'
-PACKAGE_STRING='xfce4-cpugraph-plugin 1.2.1'
+PACKAGE_VERSION='1.2.2'
+PACKAGE_STRING='xfce4-cpugraph-plugin 1.2.2'
PACKAGE_BUGREPORT='https://gitlab.xfce.org/panel-plugins/xfce4-cpugraph-plugin/'
PACKAGE_URL=''
@@ -1399,7 +1399,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xfce4-cpugraph-plugin 1.2.1 to adapt to many kinds of
systems.
+\`configure' configures xfce4-cpugraph-plugin 1.2.2 to adapt to many kinds of
systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1471,7 +1471,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xfce4-cpugraph-plugin 1.2.1:";;
+ short | recursive ) echo "Configuration of xfce4-cpugraph-plugin 1.2.2:";;
esac
cat <<\_ACEOF
@@ -1596,7 +1596,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xfce4-cpugraph-plugin configure 1.2.1
+xfce4-cpugraph-plugin configure 1.2.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1965,7 +1965,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xfce4-cpugraph-plugin $as_me 1.2.1, which was
+It was created by xfce4-cpugraph-plugin $as_me 1.2.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2830,7 +2830,7 @@
# Define the identity of the package.
PACKAGE='xfce4-cpugraph-plugin'
- VERSION='1.2.1'
+ VERSION='1.2.2'
cat >>confdefs.h <<_ACEOF
@@ -15115,7 +15115,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xfce4-cpugraph-plugin $as_me 1.2.1, which was
+This file was extended by xfce4-cpugraph-plugin $as_me 1.2.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15181,7 +15181,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //;
s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xfce4-cpugraph-plugin config.status 1.2.1
+xfce4-cpugraph-plugin config.status 1.2.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xfce4-cpugraph-plugin-1.2.1/configure.ac
new/xfce4-cpugraph-plugin-1.2.2/configure.ac
--- old/xfce4-cpugraph-plugin-1.2.1/configure.ac 2021-01-30
15:30:18.000000000 +0100
+++ new/xfce4-cpugraph-plugin-1.2.2/configure.ac 2021-02-14
18:50:09.000000000 +0100
@@ -14,8 +14,8 @@
AC_CONFIG_MACRO_DIRS([m4])
m4_define([cpugraph_version_major], [1])
m4_define([cpugraph_version_minor], [2])
-m4_define([cpugraph_version_micro], [1])
-m4_define([cpugraph_version_build], [a3875c3])
+m4_define([cpugraph_version_micro], [2])
+m4_define([cpugraph_version_build], [ff5c8db])
m4_define([cpugraph_version_tag], [])
m4_define([cpugraph_version],
[cpugraph_version_major().cpugraph_version_minor().cpugraph_version_micro()ifelse(cpugraph_version_tag(),
[git], [cpugraph_version_tag()-cpugraph_version_build()],
[cpugraph_version_tag()])])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xfce4-cpugraph-plugin-1.2.1/panel-plugin/cpu.c
new/xfce4-cpugraph-plugin-1.2.2/panel-plugin/cpu.c
--- old/xfce4-cpugraph-plugin-1.2.1/panel-plugin/cpu.c 2021-01-30
15:12:10.000000000 +0100
+++ new/xfce4-cpugraph-plugin-1.2.2/panel-plugin/cpu.c 2021-02-14
18:45:27.000000000 +0100
@@ -240,6 +240,9 @@
gssize i;
for (i = 0; i < base->history.cap_pow2; i++)
base->history.data[i] = (CpuLoad) {};
+
+ if (base->mode != MODE_DISABLED)
+ gtk_widget_queue_draw (base->draw_area);
}
static void
@@ -256,7 +259,7 @@
old_offset = base->history.offset;
cap_pow2 = 1;
- while (cap_pow2 < 128 * slowest / fastest)
+ while (cap_pow2 < MAX_SIZE * slowest / fastest)
cap_pow2 <<= 1;
while (cap_pow2 < history_size * slowest / fastest)
cap_pow2 <<= 1;
@@ -268,8 +271,9 @@
base->history.data = (CpuLoad*) g_malloc0 (cap_pow2 * sizeof
(CpuLoad));
base->history.mask = cap_pow2 - 1;
base->history.offset = 0;
- for (i = 0; i < old_cap_pow2 && i < cap_pow2; i++)
- base->history.data[i] = old_data[(old_offset + i) & old_mask];
+ if (old_data != NULL)
+ for (i = 0; i < old_cap_pow2 && i < cap_pow2; i++)
+ base->history.data[i] = old_data[(old_offset + i) & old_mask];
g_free (old_data);
}
@@ -299,7 +303,15 @@
history = size;
}
- if (history > base->history.cap_pow2 || base->non_linear)
+ /* Expand history size for the non-linear time-scale mode.
+ * 128 * pow(1.04, 128) = 19385.5175366781
+ * 163 * pow(1.04, 163) = 97414.11965601446
+ */
+ history = ceil (history * pow(NONLINEAR_MODE_BASE, history));
+ if (G_UNLIKELY (history < 0 || history > MAX_HISTORY_SIZE))
+ history = MAX_HISTORY_SIZE;
+
+ if (history > base->history.cap_pow2)
resize_history (base, history);
else
base->history.size = history;
@@ -573,42 +585,21 @@
else if (base->tracked_core != 0 && G_LIKELY (base->tracked_core <
base->nr_cores + 1))
base->cpu_data[0].load = base->cpu_data[base->tracked_core].load;
- if (base->mode != MODE_DISABLED)
+ if (base->history.data != NULL)
{
CpuLoad load;
- /* Update the history */
- if (base->non_linear)
- {
- const gssize mask = base->history.mask;
- const gssize offset = base->history.offset;
- gssize i;
- for (i = base->history.size - 1; i > 0; i--)
- {
- const gfloat scale = 256.0f;
- gfloat a, b, factor;
- a = base->history.data[(offset+i) & mask].value * scale;
- b = base->history.data[(offset+i-1) & mask].value * scale;
- if (a < b) a++;
- factor = (i * 2);
- base->history.data[(offset+i) & mask].timestamp = 0;
- base->history.data[(offset+i) & mask].value = (a * (factor-1)
+ b) / factor / scale;
- }
- }
- else
- {
- base->history.offset = (base->history.offset - 1) &
base->history.mask;
- }
+ /* Prepend a datapoint to the history */
+ base->history.offset = (base->history.offset - 1) & base->history.mask;
load.timestamp = g_get_real_time ();
load.value = base->cpu_data[0].load;
base->history.data[base->history.offset] = load;
-
- /* Draw the history graph */
- gtk_widget_queue_draw (base->draw_area);
}
update_tooltip (base);
+ if (base->mode != MODE_DISABLED)
+ gtk_widget_queue_draw (base->draw_area);
if (base->bars.draw_area)
gtk_widget_queue_draw (base->bars.draw_area);
@@ -866,7 +857,8 @@
if (base->non_linear != nonlinear)
{
base->non_linear = nonlinear;
- clear_history (base);
+ if (base->mode != MODE_DISABLED)
+ gtk_widget_queue_draw (base->draw_area);
}
}
@@ -892,16 +884,19 @@
base->timeout_id = g_timeout_add (interval, update_cb, base);
if (change && !init)
- {
if (base->mode != MODE_DISABLED)
gtk_widget_queue_draw (base->draw_area);
- }
}
}
void
set_size (CPUGraph *base, guint size)
{
+ if (G_UNLIKELY (size < MIN_SIZE))
+ size = MIN_SIZE;
+ if (G_UNLIKELY (size > MAX_SIZE))
+ size = MAX_SIZE;
+
base->size = size;
size_cb (base->plugin, xfce_panel_plugin_get_size (base->plugin), base);
}
@@ -919,9 +914,7 @@
if (mode == MODE_DISABLED)
{
- /* Hide graph and clear history */
gtk_widget_hide (base->frame_widget);
- clear_history (base);
}
else
{
@@ -947,12 +940,17 @@
void
set_tracked_core (CPUGraph *base, guint core)
{
- gboolean has_bars = base->has_bars;
- if (has_bars)
- set_bars (base, FALSE);
- base->tracked_core = core;
- if (has_bars)
- set_bars (base, TRUE);
+ if (base->tracked_core != core)
+ {
+ gboolean has_bars = base->has_bars;
+ if (has_bars)
+ set_bars (base, FALSE);
+ base->tracked_core = core;
+ if (has_bars)
+ set_bars (base, TRUE);
+
+ clear_history (base);
+ }
}
void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xfce4-cpugraph-plugin-1.2.1/panel-plugin/cpu.h
new/xfce4-cpugraph-plugin-1.2.2/panel-plugin/cpu.h
--- old/xfce4-cpugraph-plugin-1.2.1/panel-plugin/cpu.h 2021-01-30
15:12:10.000000000 +0100
+++ new/xfce4-cpugraph-plugin-1.2.2/panel-plugin/cpu.h 2021-02-14
18:45:27.000000000 +0100
@@ -34,7 +34,11 @@
#define BORDER 8
#define HIGHLIGHT_SMT_BY_DEFAULT FALSE
+#define MAX_HISTORY_SIZE (100*1000)
#define MAX_LOAD_THRESHOLD 0.2
+#define MAX_SIZE 128
+#define MIN_SIZE 10
+#define NONLINEAR_MODE_BASE 1.04
typedef enum
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xfce4-cpugraph-plugin-1.2.1/panel-plugin/mode.c
new/xfce4-cpugraph-plugin-1.2.2/panel-plugin/mode.c
--- old/xfce4-cpugraph-plugin-1.2.1/panel-plugin/mode.c 2021-01-30
15:12:10.000000000 +0100
+++ new/xfce4-cpugraph-plugin-1.2.2/panel-plugin/mode.c 2021-02-14
18:45:27.000000000 +0100
@@ -66,44 +66,112 @@
const CpuLoad *history_data = base->history.data;
const gssize history_mask = base->history.mask;
const gssize history_offset = base->history.offset;
- gssize i, j;
- for (i = 0, j = 0; i < count; i++)
+ if (!base->non_linear)
{
- const gint64 timestamp = start + i * step;
- CpuLoad nearest = {};
- for (; j < history_cap_pow2; j++)
+ gssize i, j;
+ for (i = 0, j = 0; i < count; i++)
{
- CpuLoad load = history_data[(history_offset + j) & history_mask];
+ const gint64 timestamp = start + i * step;
+ CpuLoad nearest = {};
+ for (; j < history_cap_pow2; j++)
+ {
+ CpuLoad load = history_data[(history_offset + j) &
history_mask];
- if (load.timestamp == 0)
- goto end;
+ if (load.timestamp == 0)
+ goto end;
- if (nearest.timestamp == 0)
- {
- nearest = load;
- }
- else
- {
- gint64 delta = load.timestamp - timestamp;
- if (labs (delta) < labs (nearest.timestamp - timestamp))
+ if (nearest.timestamp == 0)
{
nearest = load;
}
- else if (labs (delta) > labs (nearest.timestamp - timestamp))
+ else
{
- if (j > 0)
- j--;
- break;
+ gint64 delta = labs (load.timestamp - timestamp);
+ if (delta < labs (nearest.timestamp - timestamp))
+ {
+ nearest = load;
+ }
+ else if (delta > labs (nearest.timestamp - timestamp))
+ {
+ if (j > 0)
+ j--;
+ break;
+ }
}
}
+ out[i] = nearest.value;
}
- out[i] = nearest.value;
+
+ end:
+ for (; i < count; i++)
+ out[i] = 0;
}
+ else
+ {
+ gssize i;
+ for (i = 0; i < count; i++)
+ {
+ /* Note: step < 0, therefore: timestamp1 < timestamp0 */
+ const gint64 timestamp0 = start + (i+0) * pow
(NONLINEAR_MODE_BASE, i+0) * step;
+ const gint64 timestamp1 = start + (i+1) * pow
(NONLINEAR_MODE_BASE, i+1) * step;
+ gfloat sum = 0;
+ gint count = 0;
+ gssize j;
+
+ for (j = 0; j < history_cap_pow2; j++)
+ {
+ CpuLoad load = history_data[(history_offset + j) &
history_mask];
+ if (load.timestamp > timestamp1 && load.timestamp <=
timestamp0)
+ {
+ sum += load.value;
+ count++;
+ }
+ else if (load.timestamp < timestamp1)
+ break;
+ }
-end:
- for (; i < count; i++)
- out[i] = 0;
+ /* count==0 in the following cases:
+ * - Both timestamps are pointing to a time before the CPU load
measurements have started
+ * - Both timestamps are pointing to a time before the history
has been cleared
+ * - There has been a change in base->update_interval,
+ * for example from RATE_SLOWEST to RATE_FASTEST
+ */
+
+ if (count != 0)
+ out[i] = sum / count;
+ else
+ out[i] = -1;
+ }
+
+ for (i = 0; i < count; i++)
+ {
+ if (out[i] == -1)
+ {
+ gfloat prev = -1, next = -1;
+ gssize j;
+
+ for (j = 0; j < i; j++)
+ if (out[j] != -1)
+ {
+ prev = out[j];
+ break;
+ }
+
+ for (j = i+1; j < count; j++)
+ if (out[j] != -1)
+ {
+ next = out[j];
+ break;
+ }
+
+ if (prev != -1 && next != -1)
+ out[i] = (prev + next) / 2;
+ else
+ out[i] = 0;
+ }
+ }
+ }
}
void
@@ -161,8 +229,8 @@
void
draw_graph_LED (CPUGraph *base, cairo_t *cr, gint w, gint h)
{
- gint nrx = (w + 1) / 3;
- gint nry = (h + 1) / 2;
+ const gint nrx = (w + 2) / 3;
+ const gint nry = (h + 1) / 2;
gint x, y;
const gint64 step = 1000 * (gint64) get_update_interval_ms
(base->update_interval);
gint64 t0;
@@ -176,7 +244,7 @@
for (x = 0; x * 3 < w; x++)
{
- gint idx = nrx - x;
+ const gint idx = nrx - x - 1;
gint limit;
if (G_LIKELY (idx >= 0 && idx < nrx))
@@ -211,8 +279,12 @@
void
draw_graph_no_history (CPUGraph *base, cairo_t *cr, gint w, gint h)
{
- gfloat usage = base->history.data[base->history.offset].value;
- gint tmp = 0;
+ gfloat usage;
+
+ if (G_UNLIKELY (base->history.data == NULL))
+ return;
+
+ usage = base->history.data[base->history.offset].value;
if (usage < base->load_threshold)
usage = 0;
@@ -228,6 +300,7 @@
else
{
const gint h_usage = h - (gint) roundf (usage);
+ gint tmp = 0;
gint y;
for (y = h - 1; y >= h_usage; y--, tmp++)
{
@@ -260,19 +333,19 @@
cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
cairo_set_line_width (cr, 1);
- for (x = 0; x * 6 < w; x++)
+ for (x = 0; x < w; x += 6)
{
- /* draw line */
- cairo_move_to (cr, x * 6 + 0.5, 0.5);
- cairo_line_to (cr, x * 6 + 0.5, h - 1 + 0.5);
+ /* draw vertical line */
+ cairo_move_to (cr, x + 0.5, 0.5);
+ cairo_line_to (cr, x + 0.5, h - 1 + 0.5);
cairo_stroke (cr);
}
- for (y = 0; y * 4 < h; y++)
+ for (y = 0; y < h; y += 4)
{
- /* draw line */
- cairo_move_to (cr, 0.5, y * 4 + 0.5);
- cairo_line_to (cr, w - 1 + 0.5, y * 4 + 0.5);
+ /* draw horizontal line */
+ cairo_move_to (cr, 0.5, y + 0.5);
+ cairo_line_to (cr, w - 1 + 0.5, y + 0.5);
cairo_stroke (cr);
}
@@ -280,7 +353,7 @@
cairo_save (cr);
cairo_set_line_width (cr, thickness);
- last = (point) {0, h};
+ last = (point) {};
for (x = 0; x < w; x++)
{
gfloat load, usage;
@@ -293,10 +366,12 @@
current.x = x;
current.y = h + (thickness-1)/2 - usage;
+ if (x == 0)
+ last = current;
/* draw line */
- cairo_move_to (cr, current.x + 0.5, current.y + 0.5);
- cairo_line_to (cr, last.x + 0.5, last.y + 0.5);
+ cairo_move_to (cr, last.x + 0.5, last.y + 0.5);
+ cairo_line_to (cr, current.x + 0.5, current.y + 0.5);
cairo_stroke (cr);
last = current;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xfce4-cpugraph-plugin-1.2.1/panel-plugin/properties.c
new/xfce4-cpugraph-plugin-1.2.2/panel-plugin/properties.c
--- old/xfce4-cpugraph-plugin-1.2.1/panel-plugin/properties.c 2021-01-30
15:12:10.000000000 +0100
+++ new/xfce4-cpugraph-plugin-1.2.2/panel-plugin/properties.c 2021-02-14
18:45:27.000000000 +0100
@@ -41,6 +41,7 @@
GtkWidget *color_mode_combobox;
GtkBox *hbox_highlight_smt, *hbox_in_terminal,
*hbox_startup_notification;
GtkLabel *smt_stats;
+ gchar *smt_stats_tooltip;
guint timeout_id;
} CPUGraphOptions;
@@ -152,7 +153,7 @@
GtkWidget *label, *notebook;
GtkSizeGroup *sg;
CPUGraphOptions *dlg_data;
- gchar *smt_issues_tooltip, *smt_stats_tooltip;
+ gchar *smt_issues_tooltip;
xfce_panel_plugin_block_menu (plugin);
@@ -188,7 +189,7 @@
base->startup_notification, change_startup_notification, dlg_data);
smt_issues_tooltip = _("Color used to highlight potentially
suboptimal\nplacement of threads on CPUs with SMT");
- smt_stats_tooltip = g_strdup_printf("%s\n%s",
+ dlg_data->smt_stats_tooltip = g_strdup_printf("%s\n%s",
_("'Overall' is showing the impact on the overall performance of the
machine."),
_("'Hotspots' is showing the momentary performance impact on just the
threads involved in suboptimal SMT scheduling decisions."));
@@ -214,7 +215,6 @@
vbox3 = create_tab ();
dlg_data->smt_stats = create_label_line (vbox3, "");
- gtk_widget_set_tooltip_text (GTK_WIDGET (dlg_data->smt_stats),
smt_stats_tooltip);
notebook = gtk_notebook_new ();
gtk_container_set_border_width (GTK_CONTAINER (notebook), BORDER - 2);
@@ -233,8 +233,6 @@
update_sensitivity (dlg_data);
gtk_widget_show_all (dlg);
-
- g_free (smt_stats_tooltip);
}
static GtkBox *
@@ -337,6 +335,7 @@
{
if (data->timeout_id)
g_source_remove (data->timeout_id);
+ g_free (data->smt_stats_tooltip);
g_free (data);
}
@@ -384,7 +383,7 @@
else
hbox = create_option_line (vbox, sg, _("Height:"), NULL);
- size = gtk_spin_button_new_with_range (10, 128, 1);
+ size = gtk_spin_button_new_with_range (MIN_SIZE, MAX_SIZE, 1);
gtk_spin_button_set_value (GTK_SPIN_BUTTON (size), base->size);
gtk_box_pack_start (GTK_BOX (hbox), GTK_WIDGET (size), FALSE, FALSE, 0);
g_signal_connect (size, "value-changed", G_CALLBACK (change_size), base);
@@ -673,6 +672,7 @@
{
const CPUGraph *base = data->base;
gchar *smt_text;
+ gboolean show_tooltip = FALSE;
if (base->topology)
{
@@ -716,6 +716,8 @@
smt_text = g_strdup_printf ("%s\n%s\n%s\n\t%s\n\t%s",
smt_detected,
lines[0], lines[1], lines[2],
lines[3]);
+
+ show_tooltip = TRUE;
}
}
else
@@ -729,7 +731,10 @@
}
if (strcmp (gtk_label_get_text (data->smt_stats), smt_text))
+ {
gtk_label_set_text (data->smt_stats, smt_text);
+ gtk_widget_set_tooltip_text (GTK_WIDGET (data->smt_stats),
show_tooltip ? data->smt_stats_tooltip : "");
+ }
g_free (smt_text);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xfce4-cpugraph-plugin-1.2.1/panel-plugin/settings.c
new/xfce4-cpugraph-plugin-1.2.2/panel-plugin/settings.c
--- old/xfce4-cpugraph-plugin-1.2.1/panel-plugin/settings.c 2021-01-30
15:12:10.000000000 +0100
+++ new/xfce4-cpugraph-plugin-1.2.2/panel-plugin/settings.c 2021-02-14
18:45:27.000000000 +0100
@@ -110,31 +110,34 @@
}
}
- switch (mode)
- {
- case MODE_DISABLED:
- case MODE_NORMAL:
- case MODE_LED:
- case MODE_NO_HISTORY:
- case MODE_GRID:
- break;
- default:
- mode = MODE_NORMAL;
- }
+ xfce_rc_close (rc);
+ }
+ }
- switch (rate)
- {
- case RATE_FASTEST:
- case RATE_FAST:
- case RATE_NORMAL:
- case RATE_SLOW:
- case RATE_SLOWEST:
- break;
- default:
- rate = RATE_NORMAL;
- }
+ // Validate settings
+ {
+ switch (mode)
+ {
+ case MODE_DISABLED:
+ case MODE_NORMAL:
+ case MODE_LED:
+ case MODE_NO_HISTORY:
+ case MODE_GRID:
+ break;
+ default:
+ mode = MODE_NORMAL;
+ }
- xfce_rc_close (rc);
+ switch (rate)
+ {
+ case RATE_FASTEST:
+ case RATE_FAST:
+ case RATE_NORMAL:
+ case RATE_SLOW:
+ case RATE_SLOWEST:
+ break;
+ default:
+ rate = RATE_NORMAL;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xfce4-cpugraph-plugin-1.2.1/po/ca.po
new/xfce4-cpugraph-plugin-1.2.2/po/ca.po
--- old/xfce4-cpugraph-plugin-1.2.1/po/ca.po 2021-01-30 15:30:22.000000000
+0100
+++ new/xfce4-cpugraph-plugin-1.2.2/po/ca.po 2021-02-14 18:50:14.000000000
+0100
@@ -12,8 +12,8 @@
"Project-Id-Version: Xfce Panel Plugins\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-13 00:48+0100\n"
-"PO-Revision-Date: 2021-01-12 23:48+0000\n"
-"Last-Translator: Xfce Bot <[email protected]>\n"
+"PO-Revision-Date: 2021-02-03 08:09+0000\n"
+"Last-Translator: Robert Antoni Buj Gelonch <[email protected]>\n"
"Language-Team: Catalan
(http://www.transifex.com/xfce/xfce-panel-plugins/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,7 +27,7 @@
#: ../panel-plugin/cpu.c:157
msgid "Copyright (c) 2003-2021\n"
-msgstr ""
+msgstr "Drets d'autor (c) 2003-2021\n"
#: ../panel-plugin/cpu.c:567
#, c-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xfce4-cpugraph-plugin-1.2.1/po/el.po
new/xfce4-cpugraph-plugin-1.2.2/po/el.po
--- old/xfce4-cpugraph-plugin-1.2.1/po/el.po 2021-01-30 15:30:21.000000000
+0100
+++ new/xfce4-cpugraph-plugin-1.2.2/po/el.po 2021-02-14 18:50:14.000000000
+0100
@@ -10,8 +10,8 @@
"Project-Id-Version: Xfce Panel Plugins\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-13 00:48+0100\n"
-"PO-Revision-Date: 2021-01-12 23:48+0000\n"
-"Last-Translator: Xfce Bot <[email protected]>\n"
+"PO-Revision-Date: 2021-02-14 08:08+0000\n"
+"Last-Translator: Ioannis LM\n"
"Language-Team: Greek
(http://www.transifex.com/xfce/xfce-panel-plugins/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -25,7 +25,7 @@
#: ../panel-plugin/cpu.c:157
msgid "Copyright (c) 2003-2021\n"
-msgstr ""
+msgstr "???????????????????? ???????????????????? (c) 2003-2021\n"
#: ../panel-plugin/cpu.c:567
#, c-format