* 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>
* 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.
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>
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.
The main purpose of this commit is to ensure that exec callbacks are
registered at startup (or config reload), so that they have a chance to
run on the first update interval. Much of the code in exec.cc got
consolidated, making it easier to follow. Several checks for NULL
pointers should eliminate some obscure segfaults I noticed, as well.
During the refactoring, I implemented height and width arguments for
execbar and execgauge. The functionality was already there, but wasn't
being used. All this is accompanied by updates to the man page and
plenty of code comments.
Adds mpd_albumartist support as an object since mpd_artist lists all participating artists of the
current song and not the main album artist.
patch by Sébastien Lavoie-Courchesne
I removed the code for automatic killing of stuck children, because (by admission of the person
who wrote it) it wasn't working. I also removed the $pre_exec variable, because one can use lua
to generate the config on the startup, if one wants to.
the way it is implemented now just wont work with the new config file. And i don't think that
many people used it anyway. Maybe add a replacement later?
Warning: Altough the current version works (for me),
the syntax of the configoptions and vars will probably change
over time. Contact me if you have ideas.
The following is a example of how you can use it now:
mysql_host someserver.com
mysql_db my_database
mysql_user loginname
mysql_password "s3cr3t"
TEXT
${mysql select var1 from some_table}${mysql select var2 from some_table}