1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-11-19 19:45:15 +00:00
Commit Graph

73 Commits

Author SHA1 Message Date
bi4k8
566fbe7187
Fix and test graph parsing (#1447)
* specials: comment all parser cases

* specials: scan_graph: early-return if args is null

* specials: fix logic in scan_graph

* tests: add scan_graph parsing test

* specials: separate command parsing from graph parsing

this simplifies the implementation of graph parsing and makes it less ambiguous to parse graphs in contexts where commands are not expected

* specials: tweak comments in scan_graph

* tests: update for scan_command separation

---------

Co-authored-by: bi4k8 <bi4k8@github>
2023-03-05 19:25:56 -05:00
bi4k8
5e98c49c4c
use new Colour type for specials and gradients (#1418)
* gradient, colours: use 24-bit colour depth internally on Wayland

our Colour type assumes this anyway; lower colour depth should be handled by display backends

* core: restore gradient color computation

this was mistakenly disabled when moving to a unified Colour representation

* core, gradient: use Colour type

* tests: gradient: always test hsv/hcl

colour computations no longer depend on the display backends we compile with, so these can be tested unconditionally now

* gradients, specials: use Color type

this makes specials now accept color names as well as hex codes, and removes all notions of color depth from gradient calculations

---------

Co-authored-by: bi4k8 <bi4k8@github>
2023-02-24 08:13:19 -05:00
Brenden Matthews
76b0f049bc
Apply clang-format. 2022-12-24 09:44:03 -05:00
bi4k8
d11742ae18
build, colours, core, gui, wayland, wl, x11: implement wayland display backend 2022-12-24 09:42:01 -05:00
François Revol
7bbf948fc3 X11 cleanup: out_to_x -> display_output()->graphical() 2022-12-09 11:23:23 -05:00
Johannes Halaoui
de298f0d80 Add an option to disable storing graph data explicitly
This option (store_graph_data_explicitly) can be disabled to use graphs
indirectly via execpi or lua_parse. Otherwise the graph stays empty. The
default value is true to keep avoiding resets while using conditional
colors.
2022-12-07 11:28:00 -05:00
Caio Freitas de Oliveira
033508a93e use clang-format 2022-10-12 21:35:35 -04:00
François Revol
281097a2a5 move X11 stuff from conky.cc to display-x11
Still some things to sort out, but seems to work.

A lot of variables and calls had to be made non-static.
2022-09-10 20:39:11 +02:00
François Revol
4ffd09be1e Replace BUILD_X11 ifdef by BUILD_GUI when it makes sense 2022-09-10 20:39:11 +02:00
Petr Vaněk
f90f6325b9 Avoid out-of-bounds write in graph_append function
Retrieve graph only when s->graph is already allocated, which also mens
that the s->graph_width is bigger than 0, and thus avoid out-of-bounds
write in graph_append function.

Prior to 594d0c85ba ("Fix bug of "Graph reset when using conditional
color"") s->graph was not (re)allocated when s->graph_width and
s->graph_allocated were equal to zero, therefore, s->graph stayed equal
to nullptr. This effectively meant that graph_append function returned
immediately after call and did nothing.

This behavior changed with introduction of std::map<int, double *> graphs,
because its retrieve_graph support function allocates s->graph even for
s->graph_width equal to 0. Then, subsequent call of graph_append can
continue and the first element of the graph is set later in this
function in line:

  graph->graph[0] = f; /* add new data */

causing out-of-bounds write, as there is not enough space in array of
zero length. This write messes up internal data of memory allocator (at
least in musl libc case) and the application later segfaults in attempt
to free this memory in store_graph function.

Fixes: 594d0c85ba ("Fix bug of "Graph reset when using conditional color"")
2022-08-26 10:21:13 -04:00
Petr Vaněk
18d5aebc46 Access graph id through g->id
struct graph * is already available through g variable, let's use it
directly.
2022-08-26 10:21:13 -04:00
Livanh
3be1320e6c Use xft_dpi_scale function instead of DPI_SCALE macro 2021-04-10 11:32:24 -05:00
Livanh
1c6c4bcf6a Scale UI elements according to Xft.dpi 2021-04-10 11:32:24 -05:00
Brenden Matthews
308f2cb8ea
Update copyright, authors. 2021-02-27 09:14:19 -06:00
Brenden Matthews
68868f4cc0
Run clang-format. 2021-02-03 18:38:41 -06:00
Brenden Matthews
9adaba449a
Run clang-format. 2021-02-01 17:30:17 -06:00
Syco
bea6a5cb9b tests for issue 236 2021-01-31 08:26:46 -06:00
Brenden Matthews
e4fad17dc0
Apply clang-format. 2021-01-23 19:47:57 -06:00
Brenden Matthews
283129e283
Apply clang-format. 2021-01-23 18:19:04 -06:00
freddii
b62e115830 fixed wrong spelled words 2021-01-23 17:59:07 -06:00
Joseph Benden
dae65af726 add SI unit to graph limits
Signed-off-by: Joseph Benden <joe@benden.us>
2019-10-17 13:28:49 -04:00
Joseph Benden
afd5594a1f Fix graph leak and the uninitialized values (#858)
Signed-off-by: Joseph Benden <joe@benden.us>
2019-07-08 05:29:58 -05:00
Travis Yaeger
dcc188ebe2 Clear stored graphs on config reload
Includes missed formatting from previous commit.
2019-06-10 10:25:40 -04:00
Travis Yaeger
594d0c85ba Fix bug of "Graph reset when using conditional color"
Graphs would appear to change their previous data when any of the 
displayed special types (e.g. $color, $hr, $offset) was added or removed 
from the display (e.g. from a conditional statement). This is because 
Graphs were just looking at memory locations for previous graph data, 
but those locations could change if any special types were added or 
removed. Now the previous graph data will get stored explicitly.
2019-06-10 10:25:40 -04:00
Travis Yaeger
9da1101b5b Rename round_to_int to round_to_positive_int 2019-06-02 13:25:02 -04:00
lasers
7eec746b82 update copyright year to 2019 2019-01-05 11:15:36 -06:00
Brenden Matthews
45b4c80ec2
Fix compiler warnings. 2018-12-20 21:20:43 -05:00
Brenden Matthews
4d098b0536
Fix for #691, nullptr deref & race condition. (#692)
* Fix race condition in gw_info handling.
 * Fix a couple potential nullptr derefs.
 * Fix font handling without x.
 * Fix regression in output to ncurses with X disabled.
 * Apply some formatting/code smell fixes.
2018-12-08 17:45:17 -05:00
su8
0bc7b80d78 fix missing variables when using multiple out_to_xxx (#628) 2018-08-20 08:32:42 -04:00
lasers
84e1eec2ed
add new options console_bar_{fill,unfill} (#624) 2018-08-17 12:46:40 -05:00
Nikolas Garofil
38959715e5 Fix all gcc -Wall warnings 2018-08-08 15:54:47 -04:00
Nikolas Garofil
34848ef0b1 Complete 'Use unsigned int for p_max_size in obj_cb.print' 2018-08-08 15:54:47 -04:00
Nikolas Garofil
5dd23796a6 Use unsigned int for p_max_size in obj_cb.print 2018-08-08 15:54:47 -04:00
Brenden Matthews
4b92556fca
Build improvements: clang-tidy, sonar, Dockerfile. (#488) 2018-05-12 19:26:31 -04:00
Brenden Matthews
eebc8c653b
Add formatting/static analysis (#486)
* Reform source with clang-format.

Rules applied with:
    $ find . -iname *.h -o -iname *.cc | xargs clang-format \
        -style=file -i -fallback-style=google

* Add clang-format and analyze to build.

Based on the excellent work at: https://github.com/ttroy50/cmake-examples

* Clean up CMake stuff on macOS.

* Remove vim/emacs modelines.

* Update copyright dates.

* Build fixes.

* Build fixes.

* Build fixes.

* Build fixes.

* Build fixes.

* Build fixes.
2018-05-12 12:03:00 -04:00
Darin McBride
a58a6d4e08 Clean up a few valgrind errors, add realloc-failure handling for graphs. (#367)
I think this fixes #360
2017-02-11 13:39:18 -08:00
labath
2600d01373 Fix an out-of-range error in new_graph (#356)
The code was multiplying the index with the size of the element, and
then adding it to the typed pointer (resulting in a double
multiplication and an OOB access).

Replace the buggy code with a slightly safer c++ alternative.
2017-01-30 17:31:09 -08:00
marcpayne
8dda4c3995 Parse quoted execgraph cmd before parsing options (#232)
When parsing the argument string for graph objects, check if there is a
double-quoted command in the beginning of the string and extract it
before parsing any options. This prevents items in a command from being
improperly recognized as graph options. It should also eliminate the
need to place commands with spaces into a separate script.

Also, fall back on default_graph_{height,width} instead of using
hard-coded values so that the default values set in a user's config will
work.
2016-05-03 08:04:57 -04:00
mxmlnkn
e7cdccd964 Border cases of scale < 1 would lead to negative lengths, crashing conky
e.g. in the beginning the scale is always 0, leading to NaN and a crash
fixes the "show_graph_scale" not working bug, not yet reported (even though I actually noticed that before, didn't seem to bother me)
also cpugauge works again because fo this BUILD_MATH MATH problem
2015-12-11 11:10:23 +01:00
mxmlnkn
a85ffd5d0d logscale not working was caused by using MATH instead of BUILD_MATH 2015-12-11 01:39:59 +01:00
Paul Egan
9809f7cd91 Support for graph output on console/shell 2014-05-05 21:07:55 +01:00
Kevin Lyles
09467931d4 Fix graph auto-scaling when the width is 0 2012-10-03 22:45:13 +02:00
Brenden Matthews
ddef05d4eb Update version, copyright. 2012-05-03 16:34:44 -07:00
Jim Duchek
bf7248ecd6 Fixed GCC 4.7.0 issues, double buffering
Signed-off-by: Brenden Matthews <brenden@diddyinc.com>
2012-05-03 14:06:50 -07:00
Brenden Matthews
e08ccb7512 Fix for regression introduced by 951cb1ac7e. 2011-10-31 13:41:30 +01:00
Pavel Labath
951cb1ac7e Fix graph updating for large (>512pix) graphs (sf.net #3253656)
apparently, this was actually a feature as someone made it deliberately act that way. However, I
agree with the bug reporter that it is strange so I remove it.
2011-10-23 22:34:51 +02:00
Pavel Labath
41dc5db094 Initialize special_t when allocating it (this should fix sf.net #3138243) 2011-01-05 13:54:04 +01:00
Nikolas Garofil
e73da6b72e Fix compiling without X11 support 2010-11-13 23:59:31 +01:00
Pavel Labath
0852aa4fcd Merge remote branch 'origin/master' into lua-config
Conflicts:
	src/ccurl_thread.cc
	src/conky.cc
	src/llua.cc
	src/logging.h
	src/nvidia.cc
2010-11-13 20:05:59 +01:00
Brenden Matthews
ca9acc13c0 C++ify some curl stuff. 2010-10-14 17:28:57 -07:00