1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-09-29 05:29:11 +00:00
Commit Graph

1472 Commits

Author SHA1 Message Date
Phil Sutter
a619cb3e3c fix potential segfault
The segfault can be triggered by using any diskio object with a
non-existent device, as prepare_diskio_stat() then returns 0 and the
call to obj->data.diskio->current in conky.c:4050 pulls the trigger.

In fact, it's not a problem when the device doesn't exist, as
update_diskio() simply won't fill in any values. So skip the check and
upon device node appearance everything goes it's normal way.

While there, also eliminate double readout of the last line of
/proc/diskstats: after the last line has been read, FEOF is not yet set.
BUT fgets() will return NULL when trying to read the next line. So
better check for fgets()'s return value instead of using feof().

Also strncmp() is useless here, since we really want to compare the full
paths. Besides, text_buffer_size also should be big enough to not make a
difference here.
2009-02-22 02:55:22 +01:00
Phil Sutter
65c27816c4 fix coding style of the last few patches
Also, note that free() does not zero the passed pointer. So conditional
freeing always needs to look like this:
| if (var) {
|     free(var);
|     var = 0;
| }
2009-02-22 02:54:44 +01:00
Brenden Matthews
f92978c5e5 No space between number and units please. 2009-02-17 22:50:43 -07:00
Sattvik
482dd1b82f Null mpd variables should have an empty string patch sf.net id #2564747. 2009-02-17 22:42:08 -07:00
Tamim Khan
d1180b4729 XMMS2 fix and refactoring patch sf.net id #2579357 (thanks Tamim). 2009-02-17 22:29:42 -07:00
Nicolas Sierro
cf77d3f1f9 Extended support for local Maildir patch sf.net id #2561323 (thanks Nicolas). 2009-02-17 22:26:15 -07:00
Martin Tůma
f7aeae2c01 Fix shown battery status patch.
Fix shown battery status when the battery is not charging any more but is not full charged patch sf.net id #2556056 (thanks Martin).
2009-02-17 22:19:25 -07:00
Carpathia
5640da7c84 Patch to clarify things in conky.conf sf.net id #2548805 (thanks Carpathia). 2009-02-17 22:14:59 -07:00
Alexander Monakov
24ddc9665e Fix nvidia memory frequency reading patch sf.net id #2493134. 2009-02-17 22:10:15 -07:00
Alexander Monakov
966a05a984 Fix diskio_read/write patch sf.net id #2493084 (thanks Alexander). 2009-02-17 22:04:38 -07:00
Kim Holviala
27bb931e41 Patch by Kim Holviala sf.net id #2484548.
* change the height of execbar and execibar to be the same as other
		bars have by default (6 pixels)
		* treat mixer values as percentages as they're usually 0-100 (switch
		to spaced_print() with pad_percents)
		* change temp_print() from snprintf() to spaced_print()
		* remove decimals from temp_print() as none of the current sources can
		supply values smaller than 1 degree (C or F, doesn't matter)
		* add a space between number and the unit in human_readable()
		* fix number printing in human_readable()
		* network $upspeed and $downspeed now use human_readable()
2009-02-17 22:00:23 -07:00
Swoög
b516e19440 Patch to add $battery_short variable. 2009-02-17 21:49:45 -07:00
Brenden Matthews
b4cd98868f Misc compilation fixes. 2009-02-17 21:45:06 -07:00
Nikolas Garofil
1085d2b27e out_to_x can now be turned off 2009-02-15 18:58:03 +01:00
Nikolas Garofil
227e5a3d38 docs and syntax for overwrite_file and append_file 2009-02-12 23:04:39 +01:00
Nikolas Garofil
65bae86ca7 append_file output method 2009-02-12 22:45:18 +01:00
Nikolas Garofil
3a11f1469f overwrite_file output method 2009-02-12 22:35:00 +01:00
Nikolas Garofil
4c25a9680e Added output_to_stderr 2009-02-10 09:43:20 +01:00
Brenden Matthews
c3003dc1a3 Fix my last 'fix'. 2009-02-09 12:36:10 -07:00
Brenden Matthews
850f7dfbc1 Fix warning on older versions of gcc. 2009-02-08 10:29:49 -07:00
Brenden Matthews
5b9d47c039 Couple fixes for the top_time stuff. 2009-02-08 10:13:54 -07:00
Alexander Graf
9da5648d2a better combine top, top_mem and top_time handlers 2009-02-08 17:19:10 +01:00
Alexander Graf
e6c9ff751c Also free process list when ${top_time} is used 2009-02-08 16:16:12 +01:00
Alexander Graf
1ac4104e0b top.c: Allow heavier optimization
This makes it possible for the compiler to do better optimizations by
adding "static" to functions which do not need to be exported.

Since some of them (e.g. the compare_*() functions) are called very
often, this may decrease conky's need of resources a bit.
2009-02-08 16:13:45 +01:00
Alexander Graf
04623066d7 Don't do unneeded sp_acopy() calls 2009-02-08 16:05:42 +01:00
Alexander Graf
b4f06b7547 Update README and conky.1
With my last patch I did only update the XML documentation file without
updating the auto-generated manpage and README file.

This patch also updates README and conky.1.
2009-02-07 17:44:19 +01:00
Alexander Graf
9c679bf33f Add ${top_time} sorting processes by CPU time 2009-02-07 15:01:50 +01:00
mipas
cd49afbd19 Build fix patch
This patch fixes build errors on some platforms due to missing includes.
2008-12-22 20:59:42 -07:00
Phil Sutter
c54b96fb24 simplify declaration of ifblock objects
Like OBJ_THREAD, OBJ_IF automatically calls obj_be_ifblock_if() when the
object matches.
2008-12-22 19:43:12 +01:00
Phil Sutter
dd31cc77eb use a global struct moc_s
Since there is no choice of which moc player to get information from,
all moc objects' data source can be identical. Also hide some internal
data (the thread e.g.). Since from now on there can only be one moc
thread (not highlander ;), we don't need to treat the thread object
specially.

While here, fix indenting.
2008-12-22 19:36:24 +01:00
Phil Sutter
2f3fb23ff7 separate parsing and interpreting text objects for certain objects
All objects parsing text into objects formerly parsed and evaluated
their arguments each update interval. This does only make sense when the
parsed text could change between updates, which is the case for execp
and execpi objects, but none of the others. So have them parse the text
when creating them, so each update interval only the output has to be
re-extracted.

In fact, this should give a performance boost when using any of the
affected objects, as parsing the input text is quite expensive since
we're evaluating templates.
2008-12-22 18:36:44 +01:00
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
Brenden Matthews
35a2d09c5f Merge branch 'master' of git://nwl.cc/~n0-1/conky 2008-12-17 17:03:33 -07:00
Phil Sutter
f85c1ea5a6 Make gateway objects also detect routes with missing RTF_GATEWAY flag
This was a bug, not a feature. From the FreeBSD manpage rtentry(9):

| Vt struct sockaddr *rt_gateway;
|
| The "target" of the route, which can either represent a destination in
| its own right (some protocols will put a link-layer address here), or
| some intermediate stop on the way to that destination (if the
| RTF_GATEWAY flag is set).

So for a default route with "dest" and "mask" both zero, either
RTF_GATEWAY is present, or "gate" is zero.
2008-12-17 02:37:07 +01:00
Brenden Matthews
479a06508f Possible fix for minor IMAP idle bug. 2008-12-15 21:55:48 -07:00
Brenden Matthews
669c12e490 Update docs. 2008-12-15 21:18:24 -07:00
Itai Zukerman
bb817b2cf7 Patch to allow escaping newlines in the config. 2008-12-15 21:17:56 -07:00
Brenden Matthews
621bad14f8 Merge branch 'master' of git://nwl.cc/~n0-1/conky 2008-12-15 21:01:58 -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
Brenden Matthews
2b128b7a7c Merge branch 'master' of git://nwl.cc/~n0-1/conky 2008-12-15 18:00:05 -07: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