After some minor rewrite of the top parser (which was in fact the only
real user of the obj->type field left since introduction of text object
callbacks), there is no need for the obj->type field anymore.
The field totalmem was formerly used to hold the percentage of used mem
by a process. So at update time, the field info.memmax was being
addressed, which is potentially being updated at the same time, As all
updating routines potentially run in parallel. Though there is an
(quite) easy fix for this: calculate the percentage upon object
printing. This works because conky synchronises all update routines
right before printing the result. (To omit locking on it's own.)
Basically, I just added three new process properties (io_read, io_write, io_perc - representing
the amount of I/O done by the process during the update interval) and $top_io, that sorts
processes based on io_perc.
Atm, it's completely #ifdef'd, since it requires kernel support. But that creates some wierd
looking syntax at some places, so it may be better to remove some ifdefs. It even may be
possible to completely remove the ifdefs (ie. convert them to #ifdef linux) since the code will
compile just fine even if the kernel doesn't support I/O accounting. I'll leave that for someone
else to decide.
In order to do this correctly:
Removed duplicate includes
Fixed mpd functions to accept mpd_s instead of information
Freed mpd.h of any need to include conky.h (mpd.c still includes it for the constants)
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1154 7f574dfc-610e-0410-a909-a81674777703
* conky.h must come first, because it includes config.h
which again defines _GNU_SOURCE, which is necessary
for strdup() & Co.
* declaring cpu_separate in top.h makes no sense, as it
includes conky.h which declares cpu_separate itself
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1078 7f574dfc-610e-0410-a909-a81674777703
* Applied some more submitted patches:
1) Add long forms of (most of) the command-line options.
2) Added an option (top_cpu_separate) that emulates top's "separate
cpus" option. Processor usage is shown as a percentage of a
single processor on your system, instead of a percentage
of all processors combined.
3) Adds a parameter (time) to top and top_mem that will show the
cumulative CPU time of a process.
4) Simplified integer rounding.
5) Fixed the window width when a goto is used.
6) Fixed the window width when an offset is used.
(thanks Kevin Lyles).
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@994 7f574dfc-610e-0410-a909-a81674777703