1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-10-02 23:19:08 +00:00
Commit Graph

434 Commits

Author SHA1 Message Date
Phil Sutter
2de1840b39 move and add function prototypes to src/conky.c 2008-12-22 17:55:21 +01:00
Phil Sutter
da7bc63996 do not use a global ifblock stack
Using a global ifblock stack for all parsed ifblock objects causes
problems when doing sub-parsing in objects taking other objects as
parameters, because the possibly non-empty stack at startup leads to
false alarm when checking for stack emptiness after parsing the objects.

Use a void ** as the object to pass around, so callers don't need to
know struct ifblock_stack_obj.
2008-12-22 17:49:38 +01:00
Phil Sutter
05624868e3 treat mpd opjects as non-threaded
In fact, they are. But we don't want to treat them as those, because
the rewrite made the only situation when threaded objects matter
uncritical, i.e. when an object calls calling parse_conky_vars().
2008-12-20 16:17:22 +01:00
Phil Sutter
b31af01d91 add if_match object comparing strings, floats and ints
In general, argument types should match, but for combined long and
double usage the long is being converted to double before evaluation.

A few examples:
${if_match ${cpu} < 30}
${if_match "asdf" != "qwer"}
${if_match 0.5 < 0.50001}
${if_match 49.999 < 50}
2008-12-20 16:14:57 +01:00
Phil Sutter
1a35a68bca fix segfault for diskiograph
The crux is to split args between those for scan_graph() on one hand and
prepare_diskio_stat() on the other hand. To make the code working with
minimal changes, move the yet optional devicename to the end.

General note on graphs:
- for all graphs there exist the optional arguments for scan_graph()
  which come first and are optional (intended duplicate)
- all other args are object specific, and may be optional as well
2008-12-18 15:18:53 +01:00
Phil Sutter
757983ab56 internal rewrite of mpd support
Handle mpd internal information inside mpd.c. Use a refcounter to check
if the mpd-information can be freed (maybe useless). Remove the now
useless "full" flag of free_text_objects.
2008-12-18 13:40:21 +01:00
Itai Zukerman
bb817b2cf7 Patch to allow escaping newlines in the config. 2008-12-15 21:17:56 -07:00
Phil Sutter
d321573c2d simplify human_readable
The only change of behaviour occurs when adjusting the unit of positive
values. For some reason 1000LL was used, which has now been replaced by
1024LL. Usage of abs() and MAX() might be OS dependent, but it should
not be too hard to implement them by hand if they're missing somewhere.
2008-12-16 03:21:30 +01:00
Phil Sutter
d744f9bfbb make use_spacer an enum
It was a static int before, holding the (already defined) enum's value,
which doesn't make sense. Also it's used only inside conky.c. Since
enums can't be assigned other values than what are defined, we can skip
checking for illegal spacer value at each invocation of spaced_print,
and then also drop the function name argument, which apparently didn't
make sense at all, because use_spacer is a global option.
2008-12-16 02:56:26 +01:00
Phil Sutter
0720a4fbc9 simplify diskio stats
Instead of splitting information, use diskio_stats[0] in diskio.c for
the totals. This saves a few branches, and frees some data from struct
information.
2008-12-16 02:32:30 +01:00
Phil Sutter
9a85812e06 here comes the big header include rewrite
Some statics are now defined by configure.ac.in, conky.h got a lot
smaller, which I see as a positive sign.

This patch should not change any functionality, just change what's
defined where. Some features I did/could not test are probably broken,
also compiling for any other OS surely won't complete now. Though I
think fixing these problems is as easy as including some missing
headers.

I've done compile checks with the following configure options:
./configure --enable-eve --enable-rss --enable-smapi
	--enable-wlan --enable-debug --enable-testing

So what needs to be tested is:
- audacious
- BMPx
- xmms2
- nvidia
2008-12-15 23:12:33 +01:00
Phil Sutter
ec174bedf2 outsource ifblock and text_object helpers 2008-12-15 23:03:39 +01:00
Phil Sutter
ca66a26813 put text_object stuff into an own header
For now this is only the object type enum and struct text_object, but it
will do to prepare further outsourcing from both conky.c and conky.h.
2008-12-15 23:03:39 +01:00
Phil Sutter
fb4b8fd005 organise text objects in a linked list
In fact, this eases code a lot. Even the ifblock handling, which was the
biggest problem of the rewrite, could be cleaned up a lot.
2008-12-15 23:03:39 +01:00
Phil Sutter
62a6c0cbac have a maximum width for all variable length mpd vars
Thanks to FreakGuard (IRC) preparing this one.
2008-12-15 19:40:54 +01:00
Phil Sutter
0f7ac0f5af simplify free_text_objects a bit 2008-12-15 19:40:45 +01:00
Phil Sutter
a98d6e06ac simplify if_existing evaluation 2008-12-15 19:40:37 +01:00
Phil Sutter
334447308f enable DEV_NAME to handle symlinks
Using a macro is not possible anymore, so have a function dev_name() do
the job. Functionality is the same as the old DEV_NAME, unless the
specified path is a symlink in which case it's being dereferenced first.

To save callers from having to free the returned string, a static local
buffer is used (effectively rendering the function non-reentrant).
2008-12-14 17:53:31 +01:00
Phil Sutter
1ddb6a88b9 use the builtin config also as a default one
This depends on fopencookie, which is linux-specific. For BSD, there is
a similar function called funopen, which can be used as a drop-in
replacement.
2008-12-14 15:45:30 +01:00
Brenden Matthews
0a5942a94b Move imap/pop3 stuff into mail.c 2008-12-14 04:22:36 +01:00
Phil Sutter
7a6ce89226 implement sample config printing support
This patch makes Conky print a sample config when being called with the
'-C' flag.

A short test showed an increase of ~10kbytes of the conky binary's size.
2008-12-12 15:38:01 +01:00
Phil Sutter
19a6e7c925 rewrite tcp-portmon hooks
Global variables belonging to tcp-portmon are now separated from
conky.c, cleaning up struct information and struct text_object a bit.
2008-12-11 15:28:21 +01:00
Phil Sutter
f96e77c91b rewrite template engine completely
Two things that pissed me off about the old one:
* only limited support for nesting templates
* totally broken output when using conditionals inside a template

The later one was the hard one to fix. ;)
It requires to already have the full text substituted before the text
objects are being created from it. Generating only the contained objects
broke, because the conditionals got wrong offsets to jump to.

After that was fixed, full nesting support is realised by simply
repeating the replacement until no more template objects are found.
2008-12-11 15:28:21 +01:00
Brenden Matthews
dc3ed8df13 Removing old svn keywords. 2008-12-09 16:35:49 -07:00
Brenden Matthews
5a5e7fd8e2 Fix broken cpu usage stuff (due to a previous commit). 2008-12-09 16:15:06 -07:00
Brenden Matthews
a40cfd9702 Add an option to timed_thread_test() to not wait for the interval period (so that IMAP IDLE works better) 2008-12-09 01:37:59 -07:00
Phil Sutter
bb079848b1 rewrite hddtemp 2008-12-08 16:01:15 +01:00
Phil Sutter
a92601f069 fix for renamed DEBUG2 macro (again) 2008-12-08 15:05:29 +01:00
Phil Sutter
92bdce5d1a set conky in dock mode to be withdrawn
Withdrawn windows are those you get from applications supporting the
'-w' flag, like e.g. gkrellm or all those sweet WindowMaker dockapps
(wmcpu and Co.). In Fluxbox, these windows are drawn into the slit. Most
other window managers put them into their "taskbar", AFAIK.
This patch makes Conky act exactly the same if the following settings
are selected:

| own_window yes
| own_window_type dock
2008-12-08 01:45:12 +01:00
Phil Sutter
f5259295cf make unit of all temperatures selectable
This introduces a new configuration variable called "temperature_unit",
specifying the unit of all temperature sensors. To achieve this, each
object outputting a temperature has to call temp_print() like so:
| temp_print(p, p_max_size, <temp val as double>, <unit of val>);
to specify the input temperature unit, either one of the constants
TEMP_CELSIUS or TEMP_FAHRENHEIT.
2008-12-08 01:45:12 +01:00
Phil Sutter
1a4e4b3b69 fix runtime debugging macros
Sadly, configure --enable-debug defines the macro DEBUG which conflicts
with the level1 debugging output macro. Rename them to DBG() and DBG2().
2008-12-08 01:42:19 +01:00
Brenden Matthews
39ba74a590 Don't put unit with hddtemp values for consistency (bug 2133107) 2008-12-07 15:54:40 -07:00
Brenden Matthews
1fcbecf4af Fix broken $execbar (bug 2133709) 2008-12-07 15:49:04 -07:00
Brenden Matthews
5626eade7f Fix last 'fix' 2008-12-07 15:44:10 -07:00
Brenden Matthews
9345e2bb8f Allow more than 9 CPUs for CPU stats (bug 2155500) 2008-12-07 15:34:46 -07:00
Brenden Matthews
6fab949926 Removing $freq_dyn and $freq_dyn_g
I have decided to remove $freq_dyn and $freq_dyn_g due to license issues
(see sf.net tracker bug #2166612)
2008-12-07 15:15:57 -07:00
Brenden Matthews
112772e361 Add some more debug messages to imap/pop3 stuff, refactor some pop3
code, add filename:lineno to DEBUG() macro.
2008-12-07 01:08:27 -07:00
Erik Waling
51fe4fa419 Fetch volume through Audacious API (thanks Erik) 2008-12-07 00:38:06 -07:00
Cesare Tirabassi
b64203b547 Fix for buffer overflow with $execi (thanks Cesare) 2008-12-07 00:31:53 -07:00
Lassi Selander
20b2d2f464 Adds a variable if_xmms2_connected to hide objects when xmms2d is not
running (thanks Lassi)
2008-12-07 00:22:05 -07:00
Phil
c4b98f0762 Add debugging output at runtime
The new command line option '-D' ('--debug') increases debugging level by one.
For debugging output a user could be interested in, use the macros DEBUG() and
DEBUG2(). Functionality is equal to the ERR() macro. DEBUG2() prints stuff only
if debugging level is greater one, which means that '--debug' has been
specified more than once. This patch also includes usage of the macros for the
new template object (as debugging syntax errors in templates is one thing a
user potentially needs to do).


git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1273 7f574dfc-610e-0410-a909-a81674777703
2008-11-30 20:53:20 +00:00
Phil
ecb3004c0f improve template support
* handle escaped characters in parameters to the template object, too
* add samples to the documentation
* do some code cleanup by outsourcing the string substitution into it's
  own function


git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1271 7f574dfc-610e-0410-a909-a81674777703
2008-11-29 13:02:42 +00:00
Phil
ce5eb880e7 add support for template objects
Basically you can define a template like this:

| template0 \1:\n   ${fs_free \2} / ${fs_used \2}

and use it later like this:

| ${template0 root /}
| ${template0 boot /boot}

which is exactly the same as the following:

| root:
|    ${fs_free /} / ${fs_used /}
| boot:
|    ${fs_free /boot} / ${fs_used /boot}

hope you like it, I do already. :)


git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1270 7f574dfc-610e-0410-a909-a81674777703
2008-11-29 01:34:54 +00:00
Phil
820e0d24c4 fix my own fix
The second parameter is optional, so have conky act accordingly. This time I
tested using either two or three params and it worked flawlessly.


git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1269 7f574dfc-610e-0410-a909-a81674777703
2008-11-04 23:25:28 +00:00
Phil
f44003e07c fix a potential segfault
* happened when passing wrong arguments to ${scroll}, particularly with only
  one instead of the mandatory two unsigned ints
* as it's not clear whether %n will change the value returned by sscanf or not,
  use a solution that works in both situations (%n incrementing the return
  value or not)


git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1268 7f574dfc-610e-0410-a909-a81674777703
2008-11-04 21:42:48 +00:00
Brenden Matthews
4be537a020 * Added $if_mpd_playing patch (thanks tarpman)
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1267 7f574dfc-610e-0410-a909-a81674777703
2008-10-08 11:44:27 +00:00
Brenden Matthews
c5fcc5c6f1 handle BYE from server when idling (IMAP stuff)
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1261 7f574dfc-610e-0410-a909-a81674777703
2008-09-26 21:29:02 +00:00
Brenden Matthews
1849db04e1 respect IMAP IDLE timeout period
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1260 7f574dfc-610e-0410-a909-a81674777703
2008-09-26 21:09:48 +00:00
Brenden Matthews
ae92753584 close socket before exiting thread
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1259 7f574dfc-610e-0410-a909-a81674777703
2008-09-25 18:29:04 +00:00
Brenden Matthews
3115cd8389 improving IMAP IDLE support, more
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1258 7f574dfc-610e-0410-a909-a81674777703
2008-09-25 04:01:47 +00:00