As a side effect, font and colour specific stuff got outsourced, too.
This is because the apropriate functions are used by conky.c as well as
specials.c, so they should be kept on their own.
In the long term I hope for positive impact on the X11 integration mess.
(Take e.g. the mass of X11 ifdefs cluttering conky.c.) Though this
commit contains no optimisations in this direction, just plain
outsourcing, to ensure minimised (intended: none) changes to conky's
interface behaviour.
In fact these two objects share a lot of code, so the bigger plan is to
merge them into a single file to share equal code.
This should not change anything to the code flow, besides making conky
startup a bit more robust due to less use of CRIT_ERR.
Well, not really. I don't dare putting it all together into a single
source file, as that would just not make sense. Instead, this patch
eliminates the --enable-smapi configure option and all related checks,
replacing them with the equivalents from --enable-ibm.
Despite this is actually not much code and could stay inside linux.c as
well, this makes sense as I want to combine smapi and ibm-acpi
functionality. Virtually every user of a notebook made by IBM/Lenovo
will want both, so this should be a feature not a bug.
Besides making the ibm-acpi objects being built optionally, this should
not change anything to the code flow.
* 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()
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.
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.
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.
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.
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
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
* check only the unique part of the argument
* print temperatures like all others (%.1f)
* do argument parsing in nvidia.c (so all specific stuff is at one place)
* little header cleanup
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1231 7f574dfc-610e-0410-a909-a81674777703
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
* also at least a single variadic argument must be
specified, so this (absolutely perfect) code doesn't
work
* this should fix it without changing the way the
macros are to be called
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1063 7f574dfc-610e-0410-a909-a81674777703
* instead of empty args "void" should always be specified.
Using this, the compiler can detect incorrect function calls,
like with update_stuff().
* No args seems to be interpreted as "unspecified args" by the
compiler, as with update_mail_count(). So no checking for
correctness of arguments when calling was done at all.
* This is not complete yet, as I still don't have any BSD for
testing.
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1055 7f574dfc-610e-0410-a909-a81674777703
* gathers information from /etc/resolv.conf
* included (still commented) code to prevent reading too often,
as I'm not sure whether reading from a real FS (not /proc or /sys)
could generate higher load in some cases -> comments please!
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1035 7f574dfc-610e-0410-a909-a81674777703
* gw_iface prints the interface having a default gateway
* gw_ip prints the gatway's ip
* if_gw jumps if no default gateway exists
* when there are multiple gateways, gw_iface and gw_ip
only print "multiple" when they are different (allows
basic debugging of ones networking setup)
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1031 7f574dfc-610e-0410-a909-a81674777703
* Fixed a number of small memory leaks.
* Performed some minor profiling on Conky; introduced
small_text_buffer_size and large_text_buffer_size config options instead
of just text_buffer_size.
* Fixed some minor bugs introduced by new patches.
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@1014 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
of many devices from /sys/bus/i2c/devices to /sys/bus/platform/devices.
* Removed config item post_21_kernel since it forced all i2c device lookups
to go to /sys/bus/platform/devices and some people may need a mix of both
i2c and platform devices.
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@917 7f574dfc-610e-0410-a909-a81674777703
* Added support for multiple batteries when using acpi (thanks Phil)
* a bunch of code cleanups (thanks Psychon)
* added max length paramater to mpd_title (thinks fow)
* a number of small bug fixes
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@889 7f574dfc-610e-0410-a909-a81674777703
things like $exec, $tail, et cetera
* Added $mboxscan which lets you display the Subject and From fields
from recent email in an mbox file
* Disambiguated (is that a word?) $cpu docs
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky1@831 7f574dfc-610e-0410-a909-a81674777703