Commit Graph

706 Commits

Author SHA1 Message Date
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
Jakob P. Liljenberg
7e50b03e39
Merge pull request #510 from nobounce/LLVM
Support compiling with LLVM
2023-06-15 17:45:05 +02: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
Jakob P. Liljenberg
a1a0e4ce35
Merge pull request #525 from gwena/main
Fix link to the themes folder
2023-05-25 12:43:19 +02:00
cpalv
1039bd5b5d amend! update cpu load average display
update cpu load average display

applied suggested changes
2023-05-24 19:51:43 -05:00
cpalv
5d2f7420c3 update cpu load average display 2023-05-23 19:06:50 -05:00
Jakob P. Liljenberg
468993817a
Merge pull request #537 from Syndelis/chore/fmt-submodule
Use `fmt` as a git submodule
2023-05-23 17:32:58 +02:00
Brenno Lemos
1567a791a8 chore: remove spaces before language in code blocks 2023-05-23 10:28:49 -03:00
Brenno Lemos
dabb7dbd52 chore: update readme to include --recursive 2023-05-23 10:25:26 -03:00
Brenno Lemos
f0ef3c4ca4 chore: adjust worflows to recursively clone the repository 2023-05-23 10:14:32 -03:00
Brenno Lemos
816c4e43fd feat: prefer fmt submodule over copy-and-paste headers 2023-05-23 10:10:36 -03:00
aristocratos
b0fc63537b println -> fmt::println 2023-05-21 12:26:48 +02:00
aristocratos
fbc349da2a Readd using namespace fmt 2023-05-21 12:11:29 +02:00
aristocratos
bd688e24bf Add fmt prefix for fmtlib 2023-05-21 11:58:52 +02:00
Jakob P. Liljenberg
d64f9939e6
Merge pull request #536 from stevenxxiu/fix/ambiguous-format-call
fix: prefix with `fmt::` to fix ambiguous call to `format()`, that also refers to `/usr/include/c++/13.1.1/format`
2023-05-21 11:54:37 +02:00
Steven Xu
7ca1cc533a fix: prefix with fmt:: to fix ambiguous call to format(), that also refers to /usr/include/c++/13.1.1/format 2023-05-21 19:33:44 +10:00
aristocratos
09c075e06c Debug times thousand separator 2023-05-21 01:11:35 +02:00
Jakob P. Liljenberg
bab441e9ea
Merge pull request #534 from aristocratos/fmtlib
Add fmtlib for string formatting (WIP)
2023-05-20 16:52:07 +02:00
aristocratos
e11d64e8d7 Debug times box changes 2023-05-20 15:20:27 +02:00
aristocratos
21b85f8913 btop.cpp -> fmt 2023-05-20 14:52:50 +02:00
Gwenael Ropert
d30c23178a Fix link to themes folder 2023-05-11 16:09:06 +02:00
Jakob P. Liljenberg
872eb3eebd
Merge pull request #506 from stwnt/LLVM
Silence "warning: unqualified call to 'std::move'" in clang.
2023-03-18 00:03:36 +01:00
Jakob P. Liljenberg
b84cfdc268
Merge pull request #504 from iambeingtracked/patch-1
Update everforest-dark-hard.theme
2023-03-18 00:02:49 +01:00
Steffen
053bacef1d Silence "warning: unqualified call to 'std::move'" in clang. 2023-03-07 13:16:04 +01:00
iambeingtracked
c9399ab89a
Update everforest-dark-hard.theme
Recently Everforest developers [updated](https://github.com/sainnhe/everforest/issues/110) the color scheme. This is an edit that changes the colors in accordance with the new Everforest colors and also changes the net graph colors to have a better-looking gradient.
2023-03-01 07:42:34 +00:00
Jakob P. Liljenberg
471c68f4b0
Merge pull request #500 from stwnt/improve-portability
Replace -ftree-loop-vectorize with -ftree-vectorize.
2023-02-23 18:53:58 +01:00
Jakob P. Liljenberg
ceae71291f
Merge pull request #485 from flipflop133/patch-1
Create adwaita.theme
2023-02-23 18:51:57 +01:00
Jakob P. Liljenberg
3200de584f
Merge pull request #502 from mattico/linux-zfs-arc
Linux: subtract ZFS ARC min size from available memory
2023-02-23 18:49:01 +01:00
Jakob P. Liljenberg
af04de9dcc
Merge pull request #483 from simplepad/fix-freebsd
[fix] fix zfs on freebsd not reporting IO
2023-02-23 18:43:36 +01:00
Matt Ickstadt
4d6e79156f readme: Add zfs_arc_cached documentation 2023-02-23 11:29:40 -06:00
Matt Ickstadt
345bf7c052 Linux: subtract ZFS ARC min size from available memory 2023-02-23 10:59:10 -06:00
Steffen
99c5991c1c Replace -ftree-loop-vectorize with -ftree-vectorize.
In preparation for LLVM support use -ftree-vectorize as it is understood
by clang (unlike -ftree-loop-vectorize) and it is an umbrella for the
former and -ftree-slp-vectorize. See https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html.
2023-02-13 00:36:10 +00:00
François Bechet
191b23425e
Create adwaita.theme
Add the popular Adwaita theme for people who like a theme matching GTK applications.
Note: I used a 3 colors gradient while the start and mid-colors are the same, this is not a mistake, it's because using a two colors gradient it would create ugly mid-colors.
2022-12-24 11:22:38 +01:00
simplepad
2b18c6952d
fix zfs on freebsd not reporting IO 2022-12-21 21:45:25 +03:00
aristocratos
c4ee41ebc0 Fixed: Makefile, VERBOSE flag now shows directory creation, Issue #480 2022-12-15 17:42:07 +01:00
Jakob P. Liljenberg
484ce73c46
Merge pull request #481 from NexAdn/479-fix-parallel-build
Makefile: make build targets depend on directories
2022-12-15 16:46:38 +01:00
NexAdn
0d17fb66c4
Makefile: make build targets depend on directories
Since directory creation is a requirement for writing the built
artifacts, this commit introduces a dependency on the directories for
all build targets (compile and link), so parallel builds can't fail
because a build target is executed before the directories target.

Closes: https://github.com/aristocratos/btop/issues/479
2022-12-15 10:30:51 +01:00
aristocratos
e67a35df08 Removed unused statement... 2022-11-30 23:18:04 +01:00
aristocratos
9aaffd6b26 Fixed: Use MemFree for used mem calculation if MemAvailable is greater than MemTotal. 2022-11-30 22:41:08 +01:00
aristocratos
0f8498fa4e v1.2.13 Bug fixes 2022-11-06 22:36:34 +01:00