Commit graph

743 commits

Author SHA1 Message Date
SidVeld 68a49c10a6 Add horizon theme 2023-09-06 18:03:31 +03:00
Jakob P. Liljenberg 0cac861910
Merge pull request #609 from scorpion-26/byteconv
Fix short conversion of 1000-1023 *iB
2023-09-05 19:27:38 +02:00
scorpion-26 f798acdaf7 Fix short conversion of 1000-1023*iB
floating_humanizer([1000-1024], true) with base 8 returns "2K", whereas it should return
"1.0K" to align with other formats. The conversion is also broken for
all other units(e.g. 1023M is also broken and returns "2G")
2023-09-05 18:00:47 +02:00
aristocratos 31be4362ce FreeBSD Github action 13.1 -> 13.2 and static libgcc and libstdc++ 2023-08-27 02:00:07 +02:00
aristocratos fc523fd1d0 Fix for FreeBSD github action not failing "correctly"... 2023-08-27 01:36:26 +02:00
Jakob P. Liljenberg c296ac13cd
Merge pull request #590 from nobounce/dangling-reference-config
Convert parameters and config keys to std::string_view
2023-08-26 19:29:57 +02:00
Jakob P. Liljenberg 9a1e760a66
Merge pull request #602 from jfouquart/main
Fix getting zfs pool name with '.' char in freebsd
2023-08-26 19:20:18 +02:00
Jakob P. Liljenberg 9c8af4df43
Merge pull request #601 from joske/cleanup
[macos] don't check /sys on macos
2023-08-26 19:18:55 +02:00
Jakob P. Liljenberg 8a49d8cf45
Merge pull request #600 from joske/makefile
[macos/freebsd] support gcc13
2023-08-26 19:18:07 +02:00
Jakob P. Liljenberg 1556388c83
Merge pull request #599 from joske/main
[macos] fix temp sensor on system with many cores
2023-08-26 19:14:00 +02:00
Jos Dehaes d17e1a2dac fix some warnings 2023-08-25 16:18:39 +02:00
Jos Dehaes 4d8aa6b118 fix core check 2023-08-25 15:52:58 +02:00
Jonathan Fouquart 22e64caaff Fix getting zfs pool name with '.' char in freebsd 2023-08-25 09:37:49 +02:00
Jos Dehaes 2217cbe143 [macos] don't check /sys on macos 2023-08-23 16:46:02 +02:00
Jos Dehaes 008fcd889e also add g++13 2023-08-23 16:11:31 +02:00
Jos Dehaes 0fdca5eb03 support gcc13 2023-08-23 15:54:07 +02:00
Jos Dehaes dcbdb7360d [macos] fix temp sensor on system with many cores 2023-08-23 15:46:47 +02:00
aristocratos 1b126f55e3 Update Makefile for partial static compilation on freebsd 2023-08-04 01:08:27 +02:00
aristocratos c8ec6bbb00 Fix freebsd nullptr changes and makefile for gcc12 and newer 2023-08-03 23:08:33 +02:00
Jakob P. Liljenberg 8a33aab588
Merge pull request #539 from nobounce/replace-NULL-nullptr
Modernize using nullptr.
2023-07-30 13:21:48 +02:00
aristocratos 94e5c02d11 Better text editing 2023-07-27 20:51:21 +02:00
nobounce 091c30ab2b
Convert parameters and config keys to std::string_view
Using std::string_view instead of std::string& silences a new warning
from GCC 13, -Wdangling-reference

Also switch return type of `getI` from int& to int, trivial types are
cheaper to copy by value
2023-07-27 14:17:54 +02:00
nobounce e4abcefbf9 Use nullptr instead of NULL.
See https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf
TLDR: NULL is of type int and relies on proper implicit pointer
conversion which may lead to issues when using overloaded functions

It is also considered a 'best practise' for modern C++ and
conveys the programmers intention more precisly.
2023-07-26 16:19:17 +02:00
nobounce d53307f14c Fix path to Linux CI file in itself
The CI file has a list of dependent files including itself. The path was
not updated when the CI was split into different files
2023-07-26 16:17:14 +02:00
Jakob P. Liljenberg 594f42b9eb
Merge pull request #584 from nobounce/nb/fix-ci-path
Fix path to Linux CI file in itself
2023-07-26 15:38:01 +02:00
aristocratos aca2e4be75 Fix whitespace indent -> tab indent 2023-07-26 14:38:48 +02:00
aristocratos 33faa01910 Revert fmt submodule to static fmt folder in include 2023-07-26 14:34:15 +02:00
nobounce 53d6ebabc0 Fix path to Linux CI file in itself
The CI file has a list of dependent files including itself. The path was
not updated when the CI was split into different files
2023-07-23 19:53:36 +02:00
Jakob P. Liljenberg ac17f34580
Merge pull request #560 from rrveex/main
FreeBSD swap info
2023-07-16 16:42:16 +02:00
Jakob P. Liljenberg 52a415a93d
Merge pull request #550 from Superty/main
Make process niceness signed ("nice" can take negative values)
2023-07-16 16:05:18 +02:00
Jakob P. Liljenberg c29fc009bc
Merge pull request #565 from nobounce/nb/makefile-fix-version
Bump the makefile version in the printed banner
2023-07-16 16:04:04 +02:00
Jakob P. Liljenberg 53684a0a7a
Merge pull request #564 from simplepad/fix-makefile
fix makefile
2023-07-16 16:02:15 +02:00
Jakob P. Liljenberg 4631508ac4
Merge pull request #547 from nobounce/collect-loadavg-function
Improve load average retrieval on linux and prefer `emplace_back`
2023-07-16 15:59:57 +02:00
zackiloco 6eb37601d7 Retrieve load average from libc and use emplace_back where appropriate
Get the load average from libc and adjust the internal API. This has
less overhead than opening /proc/loadavg.

Favor emplace_back over push_back, in general it has the chance to not
create a temporary object.
2023-07-05 13:23:11 +02:00
zackiloco 77bd1569ff Fix the makefile version in the printed banner 2023-06-28 01:49:43 +02:00
simplepad 8ad8463bc5
add g++12 (without a dash) detection, fix Makefile not accounting for a possibly missing gcc 2023-06-27 00:48:44 +03:00
rr 8466bf3a18 FreeBSD swap info 2023-06-21 21:12:36 +03:00
Jakob P. Liljenberg 7e50b03e39
Merge pull request #510 from nobounce/LLVM
Support compiling with LLVM
2023-06-15 17:45:05 +02:00
Arjun P 4eddc24d74 Make process niceness signed ("nice" can take negative values) 2023-05-30 15:56:00 +01:00
Jakob P. Liljenberg e269046d3b
Merge pull request #546 from dorrellmw/main
Fix integer overflows in btop_collect.cpp
2023-05-26 08:50:36 +02:00
Mitchell Dorrell 3c6929b025 Fix integer overflows in btop_collect.cpp
Correct data types in calls to std::accumulate(). The "bandwidth" deques
have type "long long", so the initial value of the accumulator (0) must
also be "long long" (i.e., "0ll") to prevent integer overflows. Also,
since since the bandwidth deques are (signed) "long long", the avg_speed
should presumably be a signed "long long" instead of an unsigned
"uint64_t". The previous behavior was for large bandwidth values to
overflow the accumulator, resulting in a negative total, which then was
cast to be a huge "uint64_t" value. As a consequence, the network graph
autoscaling was broken for large bandwidths.
2023-05-26 01:26:21 -04:00
zackiloco dec9fa1663 Enable Clang as a compiler.
Clang 16.0.0 or later can now be used to compile btop. Simply call
`CXX=clang++` make.

If the CXX variable contains an incompatible Clang version try to
fallback to GCC.
2023-05-25 23:00:07 +02:00
zackiloco a5e4969d7e Remove pthread_exit().
Returning from the thread this way prevents local variables to be
destructed correctly since pthread_exit is marked noreturn.

This fixes a segmentation fault with glibc and llvm-libunwind on exit.
2023-05-25 23:00:07 +02:00
zackiloco a2fa9da073 Replace statvfs64 with statvfs and define _FILE_OFFSET_BITS=64.
On my musl system statvfs64 is not exposed by default. The musl FAQ
recommends against using type64_t types, see:
https://wiki.musl-libc.org/faq.html#Q:-Do-I-need-to-define-%3Ccode%3E_LARGEFILE64_SOURCE%3C/code%3E-to-get-64bit-%3Ccode%3Eoff_t%3C/code%3E?.

Defining `_FILE_OFFSET_BITS=64` and using type_t lets type_t use the 64
bit interface, see:
https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html#index-_005fFILE_005fOFFSET_005fBITS.
2023-05-25 23:00:07 +02:00
zackiloco 7dac8505c4 Include <codecvt> required by Clang. 2023-05-25 23:00:07 +02:00
zackiloco 34ae6d96d5 Move #include to top level and exclude Clang from compiler version
check.

Clang cannot handle <semaphore> being included in a namespace, which is
also unadvised see:
https://softwareengineering.stackexchange.com/a/335261.

Using the fallback <semaphore.h> is only meant for GCC 10, but Clang
defines `__GNUC__ = 4` so exclude Clang.
2023-05-25 23:00:07 +02:00
zackiloco 922b6475ae Insert std:: for warning unqualified call to std::move. 2023-05-25 23:00:07 +02:00
Jakob P. Liljenberg 808b8c1824
Merge pull request #544 from nobounce/include-by-isystem
Include 3rd party headers with isystem to silence warnings.
2023-05-25 19:19:38 +02:00
Jakob P. Liljenberg 4e30a976fc
Merge pull request #540 from cpalv/load_average
update cpu load average display
2023-05-25 16:42:43 +02:00
zackiloco c996f50751 Include 3rd party headers with isystem to silence warnings. 2023-05-25 13:53:18 +02:00