I'm using the acpi_battery(4) interface, via sysctl.
It should report battery draw in mW (for milli Watts), so I'm
dividing by 1000 before printing in the buffer.
- use sccache for build caching
- add coverage reports as build artifacts
- add lcov-summary for coverage summary
- clean up/refactor CI yaml
This resolves the FreeBSD part of #754.
* Try to amend #31
* BUILD_WLAN should be available for all OS.
Keep BUILD_WLAN OFF by default for compatibility reasons.
* WLAN-related variables should be available for every OS.
There are some problems (probably null-dereference)
* Fix $wireless_essid crashing conky if no argument provided.
Conky wasn't parsing the argument of the variable as it should, thus wasn't allocating the `dev` member variable.
Also fix some documentation stuff.
* Improve `get_freq` #20
Using the Intel® Power Gadget API (https://software.intel.com/en-us/blogs/2012/12/13/using-the-intel-power-gadget-api-on-mac-os-x) we can now get actual Core frequency and not the constant factory one.
Though, for some weird reason the API gives the same freq for all Cores, thus the |cpu| arg becomes useless.
* Oops, this accidently slipped in
* Introduce BUILD_IPGFREQ build option
This build option has been introduced for one particular reason:
On macOS getting current core-frequency is not supported by the APIs. A solution is to install Intel's ® Power Gadget which comes with an .app, a Framework and a kernel-extension. Though, this may trouble some alot, thus introduce BUILD_IPGFREQ.
* Forgot static here.
* Some improvements for get_freq again.
Fix frequency not printing correctly (I wasn't using the divisor)
Add more guards.
* Setup cmake files and project code for Objective-C code #17
We want to use CoreWLAN framework.
* update_cpu_usage() now supports multiple cores
Also, some cleanup.
* Updated default conky config to monitor Mac Networking
* Made Mac Friendly BuildOptions and generic default conky configs
* Undid Xdamage config and cleaned up previous IF statements
* Re-Added XDamage fix
* Finish up the algorithm. I think its now correct. Closes: #33
* Cleanup macro and introduce a no-op free_cpu() function for ALL cpu-related variables
free_cpu() must be implemented for every OS and on all except macOS its a no-op function.
* Reformat, add empty comment.
* llabs() is included in FreeBSD since FreeBSD 5.0.
Oldest supported FreeBSD version is 9.3 now.
* stdio.h needs to be explicitly included here for FreeBSD.
I can wrap it in #ifdefs if needed, but I don't think it can hurt other OSes.
* addr config variable works fine on FreeBSD.
* FreeBSD 5.x is really an ancient version and long unsupported, so I think this check for it can be dropped.
* Fix and simplify code to get battery state and charge.
* Add required include on FreeBSD.
* Add needed include on FreeBSD.
* Also populate basename to avoid printing (null) process names.
Repored by fellow FreeBSD user Szabolcs Grof.
== common.cc ==
'result' can be uninitialized.
== conky.cc ==
strcpy()'s overlap: undefined behaviour. memmove()'s one is
defined.
== eve.cc ==
Some simplifications, and there are two leaks:
1. 'mySkill' could be leaked. So, let's make 'skill' point to it instead
of strdup()'ing the buffer.
2. 'output' could be leaked at l.390.
== freebsd.cc ==
Leak of 'freq_sysctl'.
== net_stat.cc ==
free() already null-checks, so we don't need to do it again.
== proc.cc ==
Leak.
Signed-off-by: Pavel Labath <pavelo@centrum.sk>
statfs64 ist atm linux specific; wrap statfs around it.
Also cleanup param.h and mount.h including: the assumption in fs.cc
that their presence is a sign of *BSDs is wrong, as they exist in
linux too with different meaning.
Besides presence of mount.h isn't detected in Conky.cmake, so
conditional including mount.h in fs.cc is useless. Is just works
because mount.h and param.h are included in freebsd.h and dragonfly.h
later on. They are unneded in linux.
Just remove conditional including of mount.h and param.h in fs.cc,
conditional wrap statfs64 in proper *BSD header files.
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>
- Displaying of CPU time of the processes now works
- ${top_time} (sorting by CPU time) works
- Using memcpy() instead of many sequential assignments (more clear,
less lines, maybe faster, less effort to change something)
Signed-off-by: Alexander Graf <agraf@znc.in>
Signed-off-by: Pavel Labath <pavelo@centrum.sk>
This allows compilation under FreeBSD without errors.
read_tcpip.cc: Avoid using of SOCK_NONBLOCK argument for socket().
SOCK_NONBLOCK is Linux-specific and its use was substituted with a
fcntl() call after socket().
freebsd.cc: Change return type of update_*() to int, as required by
common.h.
Signed-off-by: Alexander Graf <agraf@znc.in>
Signed-off-by: Pavel Labath <pavelo@centrum.sk>
I've added $memwithbuffers to complement $mem, $memeasyfree, etc. This
variable indicates the used system memory, regardless of buffers/caches. If
the "no_buffers" option is set to "no", it will be the same as $mem. The
reason I find this change useful is that I like to display both the total
used system memory and the memory being used by applications.
I've also included a memwithbuffersbar, which is the same as membar except
that it uses $memwithbuffers as the size instead of $mem.
Signed-off-by: Pavel Labath <pavelo@centrum.sk>