1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-11-20 03:51:18 +00:00
Commit Graph

64 Commits

Author SHA1 Message Date
Brenden Matthews
9ac60dcc15 Merge pull request #108 from marcpayne/noipv6-segfault-fix
Close file only if it was successfully opened
2015-07-07 15:59:10 -07:00
Marc Payne
ee08a9e1b0 Close file only if it was successfully opened
If BUILD_IPV6=ON (default), but the user has disabled ipv6 support
in the kernel using the parameter ipv6.disable=1, then conky fails
to open /proc/net/if_inet6. This leads to a segfault when conky
calls fclose(file) regardless. This fix simply moves the fclose call
into the preceding if statement.
2015-07-06 02:51:43 -06:00
Steven Allen
0aa790baac Correctly shorten unknown. 2015-07-02 11:09:50 -04:00
Steven Allen
54a5cb8cbb If we're on AC, there is no battery.
Again, no point in having two ways to say the same thing.
2015-07-02 11:09:24 -04:00
Steven Allen
8852c0083c No point in having two ways to say charged.
replace full with charged.
2015-07-02 11:02:30 -04:00
CTK
3e85698458 Fix size of the reported "buffers/cache" memory.
It now reports only reclaimable memory, by excluding shared memory,
and including the reclaimable part of the SLAB cache.

So '$mem' with 'no_buffers yes' is now the "really used" (unreclaimable) memory.
And when reaching OOM conditions, conky will always report high memory usage.

Related post:
http://calimeroteknik.free.fr/blag/?article20/really-used-memory-on-gnu-linux
2014-06-19 23:24:19 +02:00
Vilmos Nebehaj
cda5afda69 Address PR comments.
In particular:
- Don't call get_battery_perct() recursively.
- Use define for length of string holding battery name.
- We can use strcpy() since bat is zero-terminated.
2014-03-09 21:32:15 +01:00
Vilmos Nebehaj
3fb201bbc8 Use strncmp() when checking battery name. 2014-03-09 18:53:26 +01:00
Vilmos Nebehaj
ad92c60d6b Compute mean percentage for multiple batteries.
If a laptop has multiple batteries, compute the mean percentage if the
user asks for 'all' instead of a specific battery.
2014-03-09 14:03:36 +01:00
Brian Mattern
b08410dab4 Fix unknown short battery status
Before, in the case of an unknown battery status (which often happens on my Sony VAIO laptop after waking from sleep), the buffer would be unterminated.

(Although, this memmove trick is a bit odd. It would probably be better to remove the memmove's and put a single buffer[1] = '\0'; at the end of the function).
2013-04-30 10:33:42 -07:00
alcazoid
749083a450 Fixed short process names in top
Conky takes process names from /proc/<pid>/stat and it's limited to 16
chars in kernel. That obviously makes top_name_width option to work only
for decreasing name length. To obtain longer names we parse
/proc/<pid>/cmdline.

Not every process has cmdline, so we take both process names and choose
one we want to use. Like this:

- Get process name from /proc/<pid>/stat

- Get process cmdline from /proc/<pid>/cmdline

- Transform cmdline to a bit simpler form(i.e. "/usr/bin/python
 /usr/bin/terminator" to "python /usr/bin/terminator"), keeping
the arguments(might be changed easily)

- Choose the one that is longer and use it
2013-04-09 16:58:15 +02:00
Pavel Labath
8c19f0f520 Minor fix in linux.cc 2013-01-13 13:33:32 +01:00
Stefan Huber
0e1f4526b4 diskio: Fix byte counting on dmcrypt block devices
Byte counting failes if disk is a dmcrypt block device, i.e, if
major==DM_MAJOR. Fix this.
2013-01-05 19:58:25 +01:00
Pavel Labath
5ded90e22a Fix wlan stats segfault (sf.net #3581218)
Sometimes wlan related TEXT causes segment fault, and backtrace shows it's strtok in
iw_get_stats.

I read the code of wireless_tools, which says 'strtok not thread safe, not used in WE-12 and
later' for iw_get_stats. But it need to first check if has_range and then we_version_compiled.

In conky/src/linux.cc, iw_get_stats is called before iw_get_range_info, hence has_range is always
0 in iw_get_stats and strtok is used. I simply move iw_get_range_info before iw_get_stats and no
segfault up to now.

patch by ruikai
2012-11-01 15:04:08 +01:00
Magliano Andrea
9268165d71 Usable state reached (use top.cc + minor changes)
* process* management left to top.cc
* compile with -Wall -Werror (lots of wasted time for stupid errors)
* unify find_process() and new_process(), as used always together

Signed-off-by: Pavel Labath <pavelo@centrum.sk>
2012-06-28 19:04:31 +02:00
Brenden Matthews
ddef05d4eb Update version, copyright. 2012-05-03 16:34:44 -07:00
Jim Duchek
bf7248ecd6 Fixed GCC 4.7.0 issues, double buffering
Signed-off-by: Brenden Matthews <brenden@diddyinc.com>
2012-05-03 14:06:50 -07:00
Nikolas Garofil
2039d6232e bugfix: $v6addr shows addresses double 2012-01-09 00:23:09 +01:00
Pavel Labath
ee8a9e6b0f Don't abort when config references a non-existant hwmon file
this sort of fixes sf.net #3306538. The person there correctly tested for the existance of the
file with $if_existing, but the problem is we run the callbacks regardless of the conditional
tests.
2011-10-13 10:28:12 +02:00
Pavel Labath
6c04ba542b Add uid to "top" output (sf.net #3178916)
original patch submitted by Thomas Wiegner, I added support for printing of raw uids.
2011-10-10 22:11:34 +02:00
Pavel Labath
ddaa48a29e Use %llu instead of %Lu in the previous commit 2011-10-02 19:29:07 +02:00
Peter Hercek
4345050a6a mem_vsize and mem_res need to be 64 bit (sf.net #3366272)
if process allocated 4GiB or more of ram then {top mem_vsize} did not report correct number

Signed-off-by: Pavel Labath <pavelo@centrum.sk>
2011-10-02 19:26:10 +02:00
Pavel Labath
ec2398ff18 c++ify linux.cc:is_disk() 2011-10-02 14:43:44 +02:00
Nikolas Garofil
5aaac61f4e make cast unnecessary 2011-02-12 19:11:01 +01:00
Nikolas Garofil
678d79e6fe use sscanf() instead of hextobyte() 2011-02-12 18:01:41 +01:00
Nikolas Garofil
723255f142 Use inet_ntop(), thanks to pavelo for telling me about this 2011-02-12 17:18:33 +01:00
Nikolas Garofil
2754fab78d Support for scope in $v6addrs 2011-02-11 13:05:00 +01:00
Nikolas Garofil
b548f476cc Support for -n in $v6addrs 2011-02-10 23:27:14 +01:00
Nikolas Garofil
2aafb591ee Add fscanf_no_i18n() to fix sf.net #3154556 2011-02-10 01:08:34 +01:00
Nikolas Garofil
6287b22a3d Add $v6addrs to increase IPv6 support
This is only the beginning of the ipv6 support,
This var isn't documented and only works on Linux.
It should also be patched to show the addresses in compressed format
Some other vars should also be added to see things like netmask, scope, routes, ...
2011-02-09 18:49:52 +01:00
Pavel Labath
87591f502e add a $memdirty variable
patch contributed by Piotr Karbowski (sf.net #3138195)
2011-01-04 14:48:33 +01:00
Tiago Vale
c5d065d119 Added support for POWER_SUPPLY_POWER_NOW In Linux, apparently POWER_SUPPLY_CURRENT_NOW was deprecated and replaced by POWER_SUPPLY_POWER_NOW. In my system, ever since kernel 2.6.36.1 battery lifetime showed "unknown" in conky. Check http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=532000.
Signed-off-by: Pavel Labath <pavelo@centrum.sk>
2010-12-30 14:42:16 +01:00
Nikolas Garofil
c93f9817cb Merge branch 'master' into lua-config 2010-11-23 18:50:48 +01:00
Nikolas Garofil
687407479f Make sure template_ in calc_cpu_total() can also be TMPL_LONGPROC 2010-11-23 18:50:40 +01:00
Nikolas Garofil
1b791ed1c8 Merge branch 'master' into lua-config 2010-11-23 17:42:00 +01:00
Nikolas Garofil
c1933dc186 Make sure char-arrays filled with read() are null-terminated 2010-11-23 17:33:26 +01:00
Pavel Labath
0852aa4fcd Merge remote branch 'origin/master' into lua-config
Conflicts:
	src/ccurl_thread.cc
	src/conky.cc
	src/llua.cc
	src/logging.h
	src/nvidia.cc
2010-11-13 20:05:59 +01:00
Nikolas Garofil
47965eedbc Fix memleak in is_disk() 2010-11-11 00:31:06 +01:00
Nikolas Garofil
1b90218c33 Let $acpitemp use /sys instead of /proc
From the 2.6.36 changelog (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.36):
Mark the ACPI thermal procfs I/F deprecated, because /sys/class/thermal/ is already available and has been working for years w/o any problem.
The ACPI thermal procfs I/F will be removed in 2.6.37
2010-11-10 18:22:22 +01:00
Pavel Labath
ef2b39a97f Make text_buffer_size a lua setting 2010-08-29 23:50:32 +02:00
Pavel Labath
9d30e34a01 Make net_avg_samples a lua setting 2010-08-22 12:28:04 +02:00
Pavel Labath
80f3359634 make cpu_avg_samples a lua setting 2010-08-22 12:24:26 +02:00
Pavel Labath
78ba5c2800 Merge remote branch 'origin/master' into lua-config
Conflicts:
	src/conky.cc
	src/conky.h
	src/top.cc
2010-06-20 19:09:13 +02:00
Nikolas Garofil
99fc975780 Add support for $wireless_freq 2010-06-07 10:50:02 +02:00
Nikolas Garofil
6ccde5e7e7 Add support for $wireless_channel (based on a patch by Timothy Ball) 2010-06-07 09:54:25 +02:00
Alexander Graf
1180733e13 ${top}: fix bug of living dead processes
This fixes a bug occurred with 0b3e3c637e.
Dead processes still appeared in ${top} under FreeBSD and OpenBSD.  This was
because I forgot to update the g_time variable which is used as time stamp in
the process list.

Signed-off-by: Alexander Graf <agraf@znc.in>
2010-06-03 22:11:57 +02:00
Alexander Graf
0b3e3c637e ${top}: big cleanup
Linux-specific code in top.cc was moved to linux.cc.

Redundant code (e.g. the parts sorting by CPU usage, CPU time or memory
usage) was removed.  Sorting etc. happens in top.cc, whilst
platform-dependent code in linux.cc, freebsd.cc or openbsd.cc just
builds up the process table.

In the Linux code, some functions had a return value which was never
evaluated.  They return void now.

I tested it on FreeBSD and Linux;  The OpenBSD port does not compile
anyway.  I changed the OpenBSD parts, too, so that it will be less
effort to get conky working under OpenBSD.

Signed-off-by: Alexander Graf <agraf@znc.in>
2010-05-30 13:55:50 +02:00
Nikolas Garofil
a32d9e41a4 Bugfix: memory and thread-deleting problems
For example the following config had a problem:
TEXT
$i8k_cpu_temp

I could fix it shorter, but then valgrind would still show memleaks
2010-05-05 18:46:04 +02:00
Nikolas Garofil
15d9a95c95 solve printf warning 2010-04-18 00:23:00 +02:00
Nikolas Garofil
5ecb0f7030 Add support for arch linux to $distribution 2010-04-15 16:49:55 +02:00