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

32 Commits

Author SHA1 Message Date
Guido Falsi
1f661d2432 Implement get_battery_power_draw() for FreeBSD.
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.
2022-10-13 15:41:43 -04:00
Brenden Matthews
23a4936835 Add a legacymem variable for free compat.
It seems there is some confusion between the way Conky reports free
memory, versus other programs. I'm adding a new variable, `legacymem`,
to provide the same value that is reported on older programs that don't
report memory the way recommended by newer kernels.

For more details, see:
 * https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773
 * https://github.com/brndnmtthws/conky/pull/859
 * https://github.com/brndnmtthws/conky/pull/1028
 * https://github.com/brndnmtthws/conky/issues/1090

This resolves #1090.
2021-04-22 10:03:43 -05:00
Brenden Matthews
308f2cb8ea
Update copyright, authors. 2021-02-27 09:14:19 -06:00
Guido Falsi
389d24b4e0 Disable including dev/wi/if_wavelan_ieee.h as it has ben removed from FreeBSD source code in head
It looks like the code actually using this include is already included in an #if 0 block and disabled, so I'm disabling this include unconditionally.
2021-01-15 09:58:25 -06:00
Brenden Matthews
40a438be3e FreeBSD fixes, GitLab CI build improvements.
- 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.
2019-02-25 11:22:19 -05:00
Brenden Matthews
6a7dc0cd65 Fix update_total_processes() missing return val. 2019-01-07 20:26:24 -05:00
Guido Falsi
a3b03f2257 Add missing return statement.
It was removed in commit e91b91d.
2019-01-07 19:17:14 -05:00
lasers
7eec746b82 update copyright year to 2019 2019-01-05 11:15:36 -06:00
Guido Falsi
71a60672a8 When compiling with gcc the file /usr/include/machine/md_var.h is included. This header defines a function "void cpu_setup(u_int)" which clashes with the "static short cpu_setup" variable in src/freebsd.cc. (#686)
The patch renames this variable.

Reported by: Piotr Kubaj <pkubaj at anongoth.pl>
Ref: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233616
2018-12-02 11:29:56 -05:00
su8
07681e184b Add new variable sysctlbyname for FreeBSD 2018-09-04 10:44:30 -05:00
Brenden Matthews
8aa9c819f3
Conky for mac os master (#579)
* 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.
2018-08-07 11:54:01 -04:00
Brenden Matthews
a3b7905df6
Add new text objects to retrieve the currently used keyboard layout and mouse speed in percentage and generate random password of chosen length and get the cpu clock speed from assembly (#550)
* Add new text object to capitalize the first character of each word

* Fix for issue https://github.com/brndnmtthws/conky/issues/46

* Fix for issue https://github.com/brndnmtthws/conky/issues/35

* Fix for issue https://github.com/brndnmtthws/conky/issues/35

* Fix for https://github.com/brndnmtthws/conky/issues/206

* Fix for https://github.com/brndnmtthws/conky/issues/474

* Add new "temp2" variable to print the temperature in floating number

* Make the "temp2" variable static and add some explanation above it

* openbsd.cc: Add one more formal parameter to "temp_print()"

* extras/convert.lua: change url to wiki page (#554)
2018-08-04 15:01:28 -04:00
Brenden Matthews
e91b91d85a
Apply a bunch of code fixes from sonarcloud. (#492) 2018-05-13 09:58:03 -04:00
Brenden Matthews
4b92556fca
Build improvements: clang-tidy, sonar, Dockerfile. (#488) 2018-05-12 19:26:31 -04:00
Brenden Matthews
eebc8c653b
Add formatting/static analysis (#486)
* Reform source with clang-format.

Rules applied with:
    $ find . -iname *.h -o -iname *.cc | xargs clang-format \
        -style=file -i -fallback-style=google

* Add clang-format and analyze to build.

Based on the excellent work at: https://github.com/ttroy50/cmake-examples

* Clean up CMake stuff on macOS.

* Remove vim/emacs modelines.

* Update copyright dates.

* Build fixes.

* Build fixes.

* Build fixes.

* Build fixes.

* Build fixes.

* Build fixes.
2018-05-12 12:03:00 -04:00
Guido Falsi
271ca6dc97 Try more than one sysctl to get CPU temperature. (#330)
* Try more than one sysctl to get CPU temperature.

Suggested by:	walter@pelissero.de
Reference:	https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210235

* Added braces and using else ifs.
2016-10-07 19:54:35 +02:00
Guido Falsi
3a00680689 FreeBSD changes (#327)
* 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.
2016-10-04 09:47:57 +02:00
Vincent Cheng
48ea5914e9 Fix build failures on Debian kfreebsd (#291) 2016-07-13 07:24:29 -07:00
Maxime Villard
622bf0cd7e Assorted fixes found by valgrind
== 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>
2012-12-26 23:22:34 +01:00
Magliano Andrea
abdb5582bd Proper handle missing statfs64
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.
2012-07-06 15:13:59 +02:00
Pavel Labath
dea2c56582 Fix building on Debian GNU/kFreeBSD (sf.net #3525356) 2012-06-04 16:27:36 +02:00
Brenden Matthews
ddef05d4eb Update version, copyright. 2012-05-03 16:34:44 -07:00
Pavel Labath
3be2b41fbf fix compilation of freebsd.cc 2011-10-02 14:44:52 +02:00
Pavel Labath
44a30fac3d kvm_proc needs synchronized access
Signed-off-by: Nikos Ntarmos <ntarmos@cs.uoi.gr>
Signed-off-by: Pavel Labath <pavelo@centrum.sk>

Conflicts:

	src/conky.c
	src/freebsd.cc
	src/freebsd.h
2010-12-09 19:22:34 +01: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
Alexander Graf
cc35a00a30 Fix segmentation violation bug in freebsd.cc
Last patch removed a needed strndup().

Signed-off-by: Alexander Graf <agraf@znc.in>
Signed-off-by: Pavel Labath <pavelo@centrum.sk>
2010-05-28 18:58:23 +02:00
Alexander Graf
b0e5e2cd22 ${top} improvements for FreeBSD
- 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>
2010-05-28 18:58:23 +02:00
Alexander Graf
696d841e97 Compile under FreeBSD
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>
2010-05-23 21:54:42 +02:00
Caleb Spare
c7fa36a5f2 $memwithbuffers object and bar (sf.net #2954143)
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>
2010-02-18 18:32:25 +01:00
Nikolas Garofil
53af0f379f Fix multiple definitions when building in FreeBSD 2010-02-14 22:58:02 +01:00
Nikolas Garofil
7de3b9736a Make sure that freebsd.cc compiles in FreeBSD 2010-02-14 15:26:44 +01:00
Nikolas Garofil
043b12b15a cpp-ify a lot of files 2010-02-09 13:11:56 +01:00