* Fix #190:
* Added function `is_on_battery()` to correct set update interval
* Added setting `detect_battery` to correct select one or more batteries to check
* Added `detect_battery` to doc/config_settings.xml
In libical3, deprecated icaltime_from_timet is removed
Use icaltime_from_timet_with_zone instead. This function
exists in libical 2.x so no need to change requirements
* cmake: Add Haiku as a supported platform
* move mixer.cc to platform-specific as Haiku doesn't use OSS
* Add haiku.h with some stubs
* Use haiku.h
* Add some Haiku stubs
* Some Haiku network workarounds
It does not define SUN_LEN, provide a default.
It doesn't name the union in struct ifreq, use ifr_addr directly.
It seems Linux also declares it so it should work without change.
We can always define it for other platforms lacking it (add a cmake test ?).
Haiku does not have IFF_RUNNING, IFF_LINK seems close in semantics, so use it.
* Haiku: Minimal implementation of update_meminfo & get_top_info
* Haiku: implement update_cpu_usage
* Solved an issue when having own_visual_argb_visual combined with double_buffer
which break with an error. And when disabling this combination Conky is not
anymore transparent.
* Added imlib2 for travis
* Added libimlib2-dev for travis
Some time after the last eve-related PR libcurl began returning
`CURLE_RECV_ERROR` from `curl_easy_perform()`, even when the request returns
good data that is otherwise usable.
Now, if the `struct xmlData` has been populated by write_data, we use whatever
came back (almost invariably a complete XML response). We don't depend on
libcurl returning CURLE_OK.
Fixes the following error when running `docgen.sh`:
/usr/bin/iconv: illegal input sequence at position 8008
/usr/bin/db2x_manxml: program in pipeline exited with an error
Solution: Replace Unicode characters with characters that iconv can
convert. Uses the same characters as the default setting, defined in
9809f7cd91.
Seen when using:
- `iconv` from glibc 2.24
- `db2x_manxml` from linuxdoc-tools 0.9.72 (with docbook2X 0.8.8-14 debian)
- Slackware64 -current
* Cleared TODO for the multi-GPU support
Added an optional parameter to the commands nvidia and nvidiabar.
If the parameter is omited default value is 0 for GPU0
The parameter is the GPU index starting at 0
Enhanced the cache system for multi-GPU support.
* Optimization and added modelname
* Update of documentation
* Update 2 of documentation
* Provide support to query the active port on PA's default sink
This commit exposes 2 objects:
- pa_sink_active_port_name
(example value: "analog-output-headphones")
- pa_sink_active_port_description
(example value: "Headphones")
that give respectively the name and description strings
for the active port on the default sink provided by PulseAudio.
* Reflect 9ed28f2a in the documentation
- For an AMD FX(tm)-6350 Six-Core Processor the file '/sys/.../present'
reports "0,3-7". I assume that chip is really an 8-core die with two
cores disabled... Presumably you could also get "0,3-4,6", and other
combos too...
* 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
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.
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.
* 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.
* 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
* 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.