1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-12-27 20:44:56 +00:00
Commit Graph

3168 Commits

Author SHA1 Message Date
Alexey Bondarenko
cbe403bc51 Fix scrolling of UTF-8 text. (#384)
* Fix scrolling of UTF-8 text.

* Fix some out-of-bounds buffer access issues and code style issues.
2017-12-07 15:00:38 -05:00
albert2004
c93a007a13 Fix gcc-7 compilation error. (#402)
https://github.com/brndnmtthws/conky/issues/396
2017-12-07 14:59:41 -05: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
deep-42-thought
e84ca1f966 enable persistent view of irc messages (#362)
* remove path from libirc-include

* feature: irc: possibly show last n lines persistently instead of all lines said since last time

* irc: add overflow-check, for case when no newmsg's ->next is NULL
2017-02-02 11:25:59 -08:00
Zak B. Elep
c6ef3ba5e7 fs.cc, linux.cc Use /proc/mounts for list of currently mounted fs (#357)
Per manpage of mount(1) in newer util-linux:

    The programs mount and umount traditionally maintained a list of
    currently mounted filesystems in the file /etc/mtab.  This real mtab
    file is still supported, but on current Linux systems it is better
    to make it a symlink to /proc/mounts instead, because a regular mtab
    file maintained in userspace cannot reliably work with namespaces,
    containers and other advanced Linux features.

In most new Linux (e.g. Debian) /etc/mtab is already symlinked to
/proc/mounts.

See
e778642a9e
for the gory details.
2017-01-30 17:31:35 -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
bzy-xyz
641f4ecfdb eve: fix various issues (#359)
* eve: fix API, empty queue, conky reload, formatting issues

Since the EVE module was contributed, CCP has changed how the API works and
what the correct API URL is. So the module had to be updated to respect the
changes made on the EVE side.

Additionally, undefined behavior was occurring for characters without active
skill training queue, as is common for folks with multiple characters on a
single account, and was also occurring when Conky was reloaded following a
config file change. Now the `$eve` variable should just contain an empty
string if the character isn't training a skill (to make it detectable by
`$is_empty`), and the module should do The Right Thing (tm) when the
config file is changed while Conky is running.

The time remaining text has been adjusted to be slightly less verbose.

The module should do the right thing for up to 64 distinct characters.
Presently, though, every additional character requires a blocking CURL
request, meaning that querying many characters is presently not ideal. A
rewrite of the module to use asynchronous requests is probably in order, but
will be left for a future PR.

* eve: fix timezone handling; better handling of bad XML

* On Linux `gettimeofday()` doesn't return valid timezone data; we use
`localtime()` and the `tm_gmtoff` instead. Training times are no longer
incorrect as a result.

* Sometimes the EVE API will return spurious non-XML tags as part of the
response. This previously caused the XML parser to return a null document.
We tell libxml to `XML_PARSE_RECOVER` to try to recover from these errors
where they occur on real data.
2017-01-30 17:30:25 -08:00
Jörg Mechnich
5878974441 fix mpd_albumartist (#363) 2017-01-30 17:25:33 -08:00
Brenden Matthews
d7ee00adf0 Bump version for next release. 2016-12-06 13:26:39 -05:00
The ultimate Renan
e94f04949c Cached versions of get_nvidia_value and get_nvidia_string_value. (#344)
* Implemented cached versions of get_nvidia_value and get_nvidia_string_balue. Unmutable values now only are queried once.

* Removed the TODO topic related to using static variable as cache + fixed a typo in the sample nvidia config

* Was using mtf variables to store the perf values. Fixed it

* Removed an useless else statement
2016-12-04 10:13:57 -05:00
deep-42-thought
0523929d4a top.cc: remove hard coded values of MAX_SP (#346) 2016-12-04 10:02:38 -05:00
Stephane Fontaine
ddf8a0f58f Possibly Fixes #319 (#333)
*tunneled* pulseaudio sinks do not have any card associated to them.
2016-10-18 14:41:04 -04:00
Guido Falsi
271ca6dc97 Try more than one sysctl to get CPU temperature. (#330)
* Try more than one sysctl to get CPU temperature.

Suggested by:	walter@pelissero.de
Reference:	https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210235

* Added braces and using else ifs.
2016-10-07 19:54:35 +02:00
Brenden Matthews
e51301a0f8 Bump version for next release. 2016-10-04 09:50:12 +02:00
Brenden Matthews
4cd04f00f9 Bump build version. 2016-10-04 09:49:19 +02:00
Guido Falsi
3a00680689 FreeBSD changes (#327)
* llabs() is included in FreeBSD since FreeBSD 5.0.

Oldest supported FreeBSD version is 9.3 now.

* stdio.h needs to be explicitly included here for FreeBSD.

I can wrap it in #ifdefs if needed, but I don't think it can hurt other OSes.

* addr config variable works fine on FreeBSD.

* FreeBSD 5.x is really an ancient version and long unsupported, so I think this check for it can be dropped.

* Fix and simplify code to get battery state and charge.

* Add required include on FreeBSD.

* Add needed include on FreeBSD.

* Also populate basename to avoid printing (null) process names.

Repored by fellow FreeBSD user Szabolcs Grof.
2016-10-04 09:47:57 +02:00
Guido Falsi
2e4839e601 cur_x definition is wrapped inside #ifdef BUILD_X11, but here it is used outside of such ifdef. (#326) 2016-10-04 09:47:27 +02:00
krakenfury
397a0e4581 update uri to get NOAA METAR data (#325) 2016-10-04 09:47:13 +02:00
windows5
774afe202b Update openbsd.cc (#323) 2016-10-04 09:46:28 +02:00
Vincent Cheng
6c4c28672f update travis config to run additional build without X11 (#321) 2016-09-12 09:43:39 -07:00
afa-
41aa51e7ab Check st_ctime to work with mutt MUA (#309)
Check st_ctime (time of last status change) to properly update the mail count when mutt MUA is used.
2016-09-08 08:25:28 -07:00
dbriba
17a29def4b Update x11.cc (#304) 2016-09-08 08:24:54 -07:00
shizeeg
178015a949 Fix build without X11 (#317) 2016-09-08 08:24:29 -07:00
roy-mustang
3b4b9abd97 Implemented goto action for ncurses mode (#299) 2016-07-20 09:53:48 -07:00
Ben Kibbey
b14f459740 scroll: add 'wait' and 'interval' parameters. (#297) 2016-07-18 08:11:35 -07:00
Ovnuniarchos
e2bd14e7b7 Use coordinate offsets to draw shades/outlines. Corrects behavior when GOTO-ing. (#287) 2016-07-14 09:45:06 -07:00
Brenden Matthews
d621199883 Update README.md 2016-07-13 07:29:51 -07:00
Vincent Cheng
48ea5914e9 Fix build failures on Debian kfreebsd (#291) 2016-07-13 07:24:29 -07:00
Brenden Matthews
4055b347f9 Version bump to 1.10.4. 2016-06-25 09:40:05 -07:00
Brenden Matthews
6e06110065 Version bump to 1.10.3. 2016-06-25 09:36:51 -07:00
Matt Sturgeon
3753e2a95b Nvidia updates, docs and fixes (#278)
* nvidia: Update the docs and add more arguments

**Updated the docs in variables.xml to reflect the current nvidia object.**

Basically just copied the inline comments into the XML document

**Added the last of the compatible arguments**

The following arguments were added to `get_nvidia_barval`:

* memfree
* ambienttemp
* gpufreq
* memfreq
* mtrfreq
* imagequality

This should leave only incompatible arguments unsupported (e.g. min/max
values).

Decided to base percentages off of zero rather than the specified minimum
values.

Signed-off-by: Matt Sturgeon <matt@sturgeon.me.uk>

* nvidia: Better error/debug printing

* Merged `scan_nvidia_args` and `set_nvidia_type` into new
  `set_nvidia_query`
* Added a translation array for `nvidia`, `nvidiabar`, `nvidiagauge` and
  `nvidiagraph` commands (helps with error printing)
* Added some NORM_ERR prints to `get_nvidia_barval`, `get_nvidia_value` and
  `get_nvidia_string`
* Removed exess newlines in nvidia's core.cc error definitions

Signed-off-by: Matt Sturgeon <matt@sturgeon.me.uk>

* nvidia: Better sanity checks when running queries

Introduced a pair of functions that checks whether the target we are
querying exists and how many of the target there are.

If the target doesn't exist there probably isn't a nvidia card
installed, if the target count query fails then the propietary drivers
probably aren't installed.

Fixes #269

Signed-off-by: Matt Sturgeon <matt@sturgeon.me.uk>
2016-06-24 11:05:17 -07:00
Faylixe
0d496ad008 Update README.md (#267) 2016-06-24 07:20:39 -07:00
Charley Peng
ba0e5eae0a update link for configuration (#279) 2016-06-24 07:17:56 -07:00
Stephane Fontaine
c4f2e72baa Avoid port number double conversion to network byte order. (#281)
It is taken take of by `getaddrinfo`.
2016-06-24 07:17:43 -07:00
Stephane Fontaine
587631a15b Add native support for pulseaudio. (#283)
* Add native support for pulseaudio.

This adds ability to get Pulseaudio current volume without calling an
external program. Also it provides a few other parameters like card's
current profile similarly to pavucontrol. Currently it only queries the
default sink (and associated card).

* Switch to pulse async API.

This us by far the most efficient as conky subscribe to a few pulseaudio
notifications. Whenever pulseaudio server changes (volume or default
sink or default card), conky's callback updates the results.
2016-06-24 07:17:20 -07:00
Matt Sturgeon
4d205ab9a3
gedit: Make better use of gtksourceview syntax
Rewrite the gtksourceview highlighting file to make better use
of available syntax options. This allows us to separate various
contexts, and means we don't have to keep track of all conky
keywords.

Overview of changes:

* Use separate contexts for config block and "lit string".
  * (lit string is the lua lit string [[ .. ]], we assume that
    this is used to contain text sections or template blocks)
* Use "sub-string" highlighting to highlight parts of identifiers
  separately.
* Added conky.text comments (from '#' to EOL).
* Remove lists of keywords and instead rely on syntax implications.
  * Uses separate contexts for config 'key=val' and text '${var}'s.
* Match escape sequences more precisely.
  * Lua and conky escape sequences matched separately; lua in normal
    strings and conky in literal strings. See escapes note.
* Transition from camelCase to hyphen-separated names
* Reword README to reflect changes

Escapes note:

We also match conky template escape sequences when in lua literal
strings as it would be too messy to separate `conky.text` and
`templateN = ` literal strings.

We currently don't match time format escape sequences as this would
require knowing which text variable we are in. This is only possible
if we duplicate the `bracket-var` context (less painful than
duplicating the `lua-literal-string` context).

Signed-off-by: Matt Sturgeon <matt@sturgeon.me.uk>
2016-06-23 16:28:19 +01:00
Nooby4Ever
dbf85da063 gedit: Add highlighting for gedit
Added a gtksourceview syntax highlighting file for conky configs.
Everything is explained in the README.md
2016-06-23 15:27:04 +01:00
Nelis Oostens
7d6004f590 Corrected Rss documentation (#261)
The interval is not in minutes but seconds, it is also mendatory now.
2016-05-20 08:43:32 -07:00
Michal Rus
8696c504c6 Use text_buffer_size in print_evaluate for the buffer size (#260) 2016-05-20 08:43:17 -07:00
icanhasserver
e056dca8f1 Increase info.cpu_count for single-core systems (#257)
On single-core systems, sscanf() does't match, as the sysfs file contains the value 0 instead of i.e. 0-7 for multi-core systems.
2016-05-14 10:41:35 -07:00
Laurent Georget
dbf26f0a42 Fix the symbol stdscr not found compilation error (#254)
The compilation fails when the symbols of terminfo are not present in
the libncurses.so. This can happen when the terminfo library libtinfo.so
is compiled separately. Using pkg_config is the correct approach to
handle all cases.
2016-05-14 10:38:55 -07:00
Vincent Cheng
46318cf907 fix build failure when compiled with -DBUILD_NVIDIA=ON (#248) 2016-05-06 07:25:53 -04:00
Toke Høiland-Jørgensen
0db823e56c Add systemd journal support. (#214)
This adds support for reading log entries from the Systemd journal. A
new command, called simply 'journal', is added which takes a number of
lines as a parameter and optionally which journal (user or system) to
read from.

Obviously, libsystemd is required to build journal support. Tested on
Arch Linux (Systemd v229).

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2016-05-06 07:25:30 -04:00
Nelis Oostens
ebbf28c79b Update command options documentation (#247)
- Removed deprecated option (-s)
 - Added info (build flag)
 - Sorted alphabetically

This fixes issue #203
2016-05-06 07:25:06 -04:00
Maximilian K
5d50e9be67 don't get stat on path after it was removed from config file (#250) 2016-05-06 07:24:52 -04:00
Nelis Oostens
2a9e21e23b Added BUILD_XINERAMA to print_version (#252)
Added BUILD_XINERAMA to the print_version output.
2016-05-06 07:24:41 -04:00
Santtu Lakkala
d8cbdffe95 Make evaluate useful (#226)
Make evaluate actually double-evaluate itself, allowing for constructs
such as: `${eval $${addr ${gw_iface}}}' to work.
2016-05-06 07:24:30 -04: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
Jérôme Poulin
48122dcf82 Make conky resolve symlinks before using them. (#238)
* Make dev_name resolve symlinks before resolving the name.

- When symlinks are not resolved first, you will get an error on startup when
  using path in /dev/disk/by-id, for example, in diskiograph_*.

* Improve diskio device name resolution by always resolving symlinks.

- Any device path will be resolved of any symlinks before getting the usual
  checks for labels et device name.

* Check if diskio device is really a block device, not only if it exists.

- Current check would succeed in case the device is a path, like when using
  label: with an empty argument.
2016-05-03 08:04:14 -04:00
Matt Sturgeon
d8c659e7de nvidiabar, etc (#215)
* First experiment with $nvidiabar

Added nvidiabar, nvidiagraph and nvidiagauge. Using a dummy value of 50% for now until it is integrated with the nvidia value query functions.

* Implement get_nvidia_barval()

`get_nvidia_barval()` no longer returns a dummy "50%" but instead an actual value for supported arguments:

`gpuutil`, `memutil`, `membwutil`, `videoutil`,`pcieutil`, `fanlevel` and `gputemp`
2016-05-03 08:03:45 -04:00