TODO: Still need to fix dependencies.
wmmon.c:
Updated version string to 1.2b2 (forgot this for 1.2b1).
Fixed compiler warnings: added error checking for filesystem calls
and commented out some preprocessor/C code that was apparently used
to hardcode test cases.
TODO: remove completely soon if no ill effect.
wmmon/CHANGES:
Updated for 1.2b1.
wmmon/Makefile:
Added debug build with -g3; default build with -O3. Note:
This makefile isn't perfect. You must "make clean" when switching
between "make" and "make debug" otherwise objects won't compile.
I'm sure it's a simple dependency issue, but I am not an expert with
Makefiles. I intend to fix this, but it's a low priority.
wmmon/wmmon/wmmon.c:
Updated changelog. Added #define HISTORY_ENTRIES to replace hardcoded
values.
DrawStats_io():
Removed static variable global_io_scale. Replaced with a local
variable. This should improve graphing - scale was growing, but
never shrinking, meaning as time passed, graphed values were
downscaled and not displayed.
Fixed rounding errors caused by use of integer types which were
causing very small values not to appear on graph. Added code to
round very low values up, so they will appear on meter and graph.
We are making a reasonable compromise between readability and
accuracy. Side effect is that small peaks (greater than 0 but less
than our rounded-up tiny values) will actually appear as dips
instead of peaks. I feel this is acceptable, since it still conveys
an impression of "jitter" to the user. Fixing this would have
involved further modifying the data before we graph it, which would
defeat the purpose of improving accuracy.
Tweaked load bar scaling algorithm for reabality and sensitivity.
update_stat_io():
Added a "stale" timeout for static long maxdiskio (determines
scaling of load bar). New behaviour is that every couple of minutes
we discard our saved peak value and resample. This prevents an
anomalously huge I/O spike from making more typical values fail to
trigger the load bar for the rest of the app's lifetime. Side
effect will be that every couple of minutes, we will get an
anomalous spike in the load bar as it recalibrates. This anomaly
only affects the bar, not the graph.
getWidth():
Fixed integer rounding issue similar to that in DrawStats_io().
Added similar rounding code to round up very small values so we
don't have the illusion of an idle system following a huge spike.
On my openSUSE 12.1 I get this:
/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: wmauda.o: undefined reference to symbol 'XSetWMHints'
/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: note: 'XSetWMHints' is defined in DSO /usr/lib64/libX11.so.6 so try adding it to the linker command line
/usr/lib64/libX11.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
Fix it by adding -lX11 in LIBS.
I'm forwarding a patch from Michael Bienia <geser@ubuntu.com> that
has been applied to the wmmoonclock package in Ubuntu.
It fixes a build issue that is caused by specifiying libraries before the object
files in the linker command line.
This causes a build failure as Ubuntu's ld defaults to --as-needed, see:
http://wiki.debian.org/ToolChain/DSOLinking#Only_link_with_needed_libraries
[Patch sent by: Felix Geyer <debfx@ubuntu.com>]
Global notification would only work if all 'notify' commands for all
mailboxes were unset (=='\0').
Fix that.
Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>
...instead of displaying the total number of emails in the mailbox.
On my gmail account with +16k emails, there was not enough space
to display the account label. Besides, the total number of emails
is useless information anyway.
Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>