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

936 Commits

Author SHA1 Message Date
Brenden Matthews
fde096c435 Added some completely pointless OpenMP optimizations(?) 2009-05-05 17:36:12 -06:00
Brenden Matthews
d6e5a6491f Merge branch 'master' into imlib2 2009-05-04 13:22:51 -06:00
Brenden Matthews
eb2b7a4f30 Removed bits about BSD license. 2009-05-04 13:20:42 -06:00
Brenden Matthews
1b24763df1 Add copyright/license stuff to sony.[ch]. 2009-05-04 13:19:44 -06:00
Brenden Matthews
0d31ff0f4f Missing files, fix last commit.
Added sony.[ch] stuff, as well as the important change from commit
3dd1738fb9
2009-05-04 13:15:46 -06:00
Brenden Matthews
f6fe653401 Revert "Combine can now use other chars to seperate vars (used to be only space)"
This reverts commit 3dd1738fb9.
2009-05-04 13:13:51 -06:00
Nikolas Garofil
3dd1738fb9 Combine can now use other chars to seperate vars (used to be only space)
Also undid the last change because sony.h was not included, feel free to submit
it again if you include this file and other sourcefiles needed (there is also
no definition of get_sony_fanspeed). If sony systems already have this file and
a definition of this function, please update the configure file so that support
for this is disabled by default and can be enabled by sony owners.
2009-05-04 12:58:52 +02:00
Yeon-Hyeong Yang
f8a6a4035c Added Sony VAIO fanspeed info (thanks Yeon-Hyeong).
Also removed the README and man page from the repo, as they don't really
need to be there and just cause conflicts.
2009-05-03 21:23:59 -06:00
Brenden Matthews
a98a927116 Merge branch 'master' into imlib2
Conflicts:
	configure.ac.in
	src/conky.c
2009-05-01 23:29:21 -06:00
Brenden Matthews
27fff0d9cb Fixed $texeci regression. 2009-05-01 23:05:06 -06:00
Yeon-Hyeong Yang
68ea7a7859 Added diskio_avg_samples patch (thanks Yeon-Hyeong) 2009-05-01 17:03:59 -06:00
Brenden Matthews
e8e6d1c819 Few misc doc related things.
Added the (incomplete) check_docs.py, to 'synchronize' the docs with the
code, as well as vim/nano syntax stuff.

Removed some unused OBJ_* stuff from text_objects.h, and updated docs
with some missing things.  Also removed a couple deprecated objects
which were still documented.
2009-05-01 16:53:50 -06:00
Nikolas Garofil
e05e9ece8e Added the combine variable 2009-04-30 21:05:59 +02:00
Jérôme Plût
ff9154216b Make ALSA mixers available on Linux, and added $if_mixer_mute. 2009-04-28 10:56:49 -06:00
Brenden Matthews
2dfc0ee6b4 Fix minor environment variable bug. 2009-04-28 10:54:43 -06:00
Brenden Matthews
d1b6548c55 Minor for for mail args parsing. 2009-04-28 10:19:28 -06:00
Lassi Selander
49aee8707a Various XMMS2 updates (thanks Lassi). 2009-04-28 10:02:24 -06:00
Phil Sutter
fb8ccd7a05 fix for enviroment variable expansion 2009-04-26 22:49:46 +02:00
Nikolas Garofil
6bc19d0396 Workaround for the problem that $goto only moves the first rss-item by making
it possible to specify the number of spaces you want in front of each rss-item
2009-04-19 00:42:01 +02:00
Nikolas Garofil
86b91db305 Bugfix: compilation without X11 broke after latest patches 2009-04-13 14:42:31 +02:00
Brenden Matthews
506f6ecc3b Special default & gauge fixes. 2009-04-09 20:10:08 -06:00
Brenden Matthews
38ee788da4 Added default_bar/graph/gauge_size config options (thanks wire64 for the idea) 2009-04-09 16:00:40 -06:00
Or Cohen
b6e691e8ac Minor fix for fs_used_perc, fs_free and fs_free_perc 2009-04-09 15:34:12 -06:00
Brenden Matthews
ea34b2c5e5 Fix xmms2 related compilation error? 2009-04-09 15:33:50 -06:00
Phil Sutter
7001e95186 be consistent when parsing args of cpu objects
The inconsistent naming of the cpu parameter in the docs led me to this,
so I also simplified parsing by introducing the macro SCAN_CPU(). Note
that this introduces a syntactical change to the config: the cpuN
argument now has to be passed at first position to $cpugraph.
2009-04-04 01:25:33 +02:00
Nikos Ntarmos
f91faa64b8 Add X11 display argument/conf entry (FR #2474243)
Signed-off-by: Nikos Ntarmos <ntarmos@cs.uoi.gr>
Signed-off-by: Brenden Matthews <brenden@rty.ca>
2009-04-01 16:46:16 -06:00
Brenden Matthews
a301b24a8e Fix compile error. 2009-03-29 23:35:42 -06:00
Brenden Matthews
f05829ad9a Update copyright stuff, fix conky.conf weirdness. 2009-03-29 22:55:51 -06:00
Brenden Matthews
0d4f9499eb Fixed bug in template stuff. 2009-03-29 20:27:38 -06:00
Nikos Ntarmos
99a496b3ea Adding if_up support for FreeBSD.
Moved interface_up(...) from linux.{c.h} to common.{c,h} and taught it
to check for ENXIO as well to make it work on FreeBSD.

Signed-off-by: Nikos Ntarmos <ntarmos@cs.uoi.gr>
2009-03-29 01:25:57 +01:00
Nikos Ntarmos
50bac84006 Bringing FreeBSD up to date with latest commits
Several things were broken after the switch to 1.7-rc branches. This
diff fixes all compilations issues and updates some functions that were
left empty previously.

Signed-off-by: Nikos Ntarmos <ntarmos@cs.uoi.gr>
2009-03-29 01:25:51 +01:00
Nikos Ntarmos
15bd2ca5ec sysfs is a Linux-only feature.
Moving sysfs-related functions and defs out of common.h and into
linux.h, as sysfs exists only on Linux, and updating openbsd.c,
netbsd.c, and freebsd.c accordingly.

Signed-off-by: Nikos Ntarmos <ntarmos@cs.uoi.gr>
2009-03-29 01:25:48 +01:00
Nikos Ntarmos
b3a91362de Extra includes to fix compiling on FreeBSD
Signed-off-by: Nikos Ntarmos <ntarmos@cs.uoi.gr>
2009-03-29 01:25:43 +01:00
Nikos Ntarmos
b1da4bfdaa Fix a typo and teach linux code to use data
Typo: __LINUX__ was used in a conditional code block, while the rest of
      the code uses __linux__

data: free_text_objects(...) #define's 'data' to be 'obj->data' to make
	  the code more compact. The linux-specific parts of the code still
	  used obj->data, which should expand to obj->obj->data, which is
	  wrong.

Signed-off-by: Nikos Ntarmos <ntarmos@cs.uoi.gr>
2009-03-29 01:25:33 +01:00
Phil Sutter
2c3d57d841 add eval object, evaluating it's args
This object makes use of the possibility to escape dollar signs in TEXT.
Take the following example in the conkyrc:
| $${downspeed ${gw_iface}}
will be evaluated to (assuming the gw_iface is eth0):
| ${downspeed eth0}
and finally interpreted to print the gateway interface's downspeed rate.
2009-03-24 01:25:13 +01:00
Phil Sutter
12a40fd0a9 fix dollar escape in TEXT
The idea found in the code is any double dollar ($$) is being treated as
explicit dollar sign ($) instead of the start of a text object
reference. Due to missing update of the 's' variable, when creating a
text object for the text following the second dollar sign, the later was
prepended, leading to a double dollar in the output.
2009-03-24 00:40:22 +01:00
Phil Sutter
363bed34ac fix temporary printing of "(null)" for mpd vars
To minimise the chance of printing variables in an undefined state, call
free() as late as possible (i.e., right before strdup()'ing the new
value).
2009-03-23 23:46:10 +01:00
Brenden Matthews
4c77eed1c3 Couple minor fixes.
Make X11_initialise() work as it should, clarified IBM/Lenovo aka smapi
support in configure script.
2009-03-19 13:42:21 -06:00
Brenden Matthews
5378d13cfb some imlib2 work 2009-03-18 22:02:25 -06:00
Brenden Matthews
d399a128c9 Make print_config() stuff match configure. 2009-03-18 00:29:01 -06:00
Nikolas Garofil
37c460ed05 Fix: make sure compiling without X11 works 2009-03-17 18:36:46 +01:00
Brenden Matthews
293f6ad7e2 Fix possible mem leak with net stats. 2009-03-16 15:56:37 -06:00
Nikolas Garofil
2d524ce450 Merge branch 'master' of git.omp.am:/home/omp/git/conky 2009-03-16 21:21:11 +01:00
Nikolas Garofil
a074cb972a No limits for environment variables
Use dynamic allocated memory for skey and svalue,
allocate the length of value so that there are no limits,
but don't use the %a gnu extension to maintain compatibility
2009-03-16 21:14:22 +01:00
Brenden Matthews
613df97a6c Fix wacky net speed values on startup. 2009-03-16 14:14:18 -06:00
Brenden Matthews
c5e8f97619 Make gauge stuff look a little less funny. 2009-03-16 13:40:22 -06:00
Brenden Matthews
41b62122f5 Unbreak alias stuff.
It was broken by commit 98c64d8b3e, I did
a lowsy job of checking the patch over.
2009-03-16 13:22:22 -06:00
aner
98c64d8b3e I added Gagues to monitor variables
Signed-off-by: Brenden Matthews <brenden@rty.ca>
2009-03-15 19:36:11 -06:00
Nikos Ntarmos
e275b05242 Disk i/o support on FreeBSD patch.
Patch sf.net id #2657227 (thanks Nikos).
2009-03-15 19:11:49 -06:00
Brenden Matthews
513752626e Fix compilation errors.
I hope I didn't break the alias stuff.
2009-03-15 18:35:45 -06:00
Nikolas Garofil
8bcc287958 fix problems with negative numbers (sf.net id #2644593) (thanks Zhoushen Huang) 2009-03-15 17:09:35 +01:00
Nikolas Garofil
9c0f04bc10 bugfix: segfault when nothing x11-related is mentioned before TEXT 2009-03-15 01:17:32 +01:00
Nikolas Garofil
d1baa243a8 Added alias configfile setting
This patch is written by a anonymous author, see patch on sf.net
id #2663691 . I changed it a bit so that it can't overwrite
existing environment variables and updated the docs and syntaxfiles
2009-03-07 15:12:09 +01:00
Phil Sutter
72e217fae2 fix padding of $processes
Padding to 4 digits allows for max 9999 processes, which should really
be more than enough for systems running conky. ;)
2009-03-01 21:12:16 +01:00
Phil Sutter
e6a9c02d11 fix padding in temp_print 2009-03-01 21:03:49 +01:00
Phil Sutter
ed42437dfc introduce percent_print() for printing percentages 2009-03-01 20:53:47 +01:00
Phil Sutter
44c5a10e04 rewrite human_readable() to minimise padding
Also fix spaced_print(): when given a width of e.g. 3, output at least 3
characters, not 2 as it was before.
2009-03-01 20:24:22 +01:00
Nikolas Garofil
09ac943a3a if_updatenr added 2009-03-01 15:10:01 +01:00
Phil Sutter
a9a59e5d28 move the custom defined memrchr to the right place
And make it static, as tailhead.c is the only user of it.
2009-02-25 00:23:56 +01:00
Phil Sutter
745eec145f fix 966a05a984 2009-02-23 23:28:12 +01:00
Phil Sutter
64af164666 add help text for --print-config option
While here, fix also -C for builds with --disable-x11.
2009-02-22 19:05:53 +01:00
Phil Sutter
e3ed9c62fb whitespace cleanup 2009-02-22 19:05:52 +01:00
Phil Sutter
2c44e6dccf remove x11 dependency of fonts
Instead, we just ignore them. Less errors in output, little less
ifdef's.
2009-02-22 19:04:42 +01:00
Phil Sutter
e28f79a133 split off specials from conky.c
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.
2009-02-22 19:04:33 +01:00
Phil Sutter
3cd87aadf8 fix for building with --disable-x11 2009-02-22 03:08:28 +01:00
Phil Sutter
90a3e8de80 merge tail and head into a single source file
This allows having the same init-function for both objects. Code size
could be further reduced, as the print-functions share some code, too.
2009-02-22 03:00:35 +01:00
Phil Sutter
20809f3198 put tail and head code into separate files
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.
2009-02-22 03:00:26 +01:00
Phil Sutter
77c59b260d merge ibm-acpi and smapi together
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.
2009-02-22 02:58:42 +01:00
Phil Sutter
d500f1005a outsource ibm-acpi stuff into it's own source file
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.
2009-02-22 02:58:29 +01:00
Phil Sutter
4161f90c6f rewrite linux diskio code
Instead of using a hardcoded maximum number of slots for
stats of different disks, use a linked list. Also since the algorithm to
update each device's counters is the same for updating the totals, share
equal code, which in my eyes not only saves a bunch of LoC, but also
drastically increases readability.
2009-02-22 02:57:11 +01:00
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
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
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
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
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
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
Brenden Matthews
60fc99ef71 Merge branch 'master' of git://nwl.cc/~n0-1/conky
Conflicts:
	configure.ac.in
2008-12-14 22:42:20 -07: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
650be03fd4 Improve behaviour of $pb_battery. 2008-12-13 20:55:45 -07:00
Brenden Matthews
0a5942a94b Move imap/pop3 stuff into mail.c 2008-12-14 04:22:36 +01:00
Brenden Matthews
77506c0e80 Move imap/pop3 stuff into mail.c 2008-12-13 19:53:05 -07:00
Phil Sutter
5445c8890a fix disk_protect for linux-2.6.27
The path for the sysfs attribute has changed. Also negative values show
disabled disk protect, so catch this when interpreting the file's
content.
2008-12-14 02:51:50 +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
4b89c3b17d make semantics of custom strndup() comply with glibc
From strdup(3):
| If s is longer than n, only n characters are copied, and a
| terminating null byte ('\0') is added.

So allocate at most n+1 bytes and make sure the last one is zero, as
strncpy() doesn't add it itself.

So in fact to allow a maximum space for string dup of 23, strndup() has
to be called like this:
| dup = strndup(src, 23 - 1);

FIXME: Find the critical points in code this change touches and make
sure the invocation there is correct.
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
5a69344055 Fix call to timed_thread_test(). 2008-12-09 16:37:24 -07: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
e2c49531f3 Limit $battery_percent to 100 (bug 2145006) 2008-12-07 15:58:40 -07: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