Anton Melnikov
bdddfc46a2
Enable vim movement in help menu ( #1242 )
...
Signed-off-by: botantony <antonsm21@gmail.com >
2025-09-10 15:49:55 +00:00
Denis Mikhaylik
e51f5c202f
Remove reduntant symbols in tree view ( #948 )
2025-09-10 15:20:16 +00:00
CountBleck
666dffc6f2
Use /sys/dev/block/MAJOR:MINOR instead of /sys/block/NAME for disk I/O
...
The device name used for a given mount doesn't always correspond to the
entry in /sys/block. For example, my rootfs uses /dev/mapper/root since
it's on LUKS, but its stats are found in /sys/block/dm-0. By using
/sys/dev/block with the major/minor device numbers in
/proc/self/mountinfo, we can get a correct path reliably. This also
works for disk partitions, without requiring any string manipulation!
This should fix #140 .
2025-09-07 18:52:10 +00:00
Steffen Winter
db34cb55a4
Don't terminate on GPU access failure
...
Closes: https://github.com/aristocratos/btop/issues/899
2025-09-02 07:10:44 +00:00
Jakob P. Liljenberg
a99f8ba1f0
Merge pull request #1227 from Tom94/cpu-power-usage
2025-08-17 10:14:34 +02:00
Thomas Müller
db0514fa32
feat: display CPU power draw & fix GPU+load avg overwriting core info
...
This change was based on YuriiShkrobut's initial PR from here:
https://github.com/aristocratos/btop/pull/595
Co-authored-by: Yurii Shkrobut <yurii.shkrobut@gmail.com >
2025-08-17 10:01:25 +02:00
Steffen Winter
b864dcdf68
refactor: remove reduntant casts and avoid conversions
2025-08-17 07:44:56 +00:00
aristocratos
4f5abbb3eb
Revert unnecessary locale changes and remove debug line.
2025-08-11 14:45:26 +02:00
Steffen Winter
a05192fc4a
fix: disable locale when writing config file
...
Closes: https://github.com/aristocratos/btop/issues/1212
2025-08-05 12:21:32 +00:00
Sam Kirby
185d61d1aa
match formatting for units
2025-07-28 14:46:57 +02:00
Sam Kirby
d1b391b2fb
fix layout issue when enc/dec meters are unavailable
2025-07-28 14:46:57 +02:00
Sam Kirby
6f85037cb0
disable encode/decode monitoring on AMD and Intel GPUs
2025-07-28 14:46:57 +02:00
Sam Kirby
b79e487804
impl encode/decode monitoring for Nvidia
2025-07-28 14:46:57 +02:00
Sam Kirby
18cb61b7d6
Add utilisation meters for GPU hardware video encoder and decoder
2025-07-28 14:46:57 +02:00
RadsammyT
011861fe96
linux-batt: Battery Time-to-full
...
Adds a Time-to-full timer for the battery info header.
Theres also a fix where the battery timer now accounts for
negative current, i.e. '-15.00W', to indicate discharging current.
This essentially just uses `std::abs()` on `b.current_now`.
2025-07-28 14:43:01 +02:00
Steffen Winter
26dd6e1beb
Convert ascii escape codes in mountpoint names before reading statvfs.
...
Closes: https://github.com/aristocratos/btop/issues/1202
2025-07-28 14:40:34 +02:00
ReversedGravity
17127e2ee6
Fix presets erroring with gpu* usage.
2025-07-28 14:39:16 +02:00
aristocratos
86ec5fd062
Changed decimal points to always be dots regardless of locale, issue #1183
2025-07-18 00:20:18 +02:00
Steffen Winter
b3356354a4
Fix --tty/--no-tty flag having no effect
...
FreeBSD CMake / freebsd-14.3-aarch64 (push) Has been cancelled
FreeBSD CMake / freebsd-15.0-aarch64 (push) Has been cancelled
FreeBSD CMake / freebsd-14.3-x86_64 (push) Has been cancelled
FreeBSD CMake / freebsd-15.0-x86_64 (push) Has been cancelled
Linux CMake / clang-18 (push) Has been cancelled
Linux CMake / clang-19 (push) Has been cancelled
Linux CMake / clang-20 (push) Has been cancelled
Linux CMake / gcc-12 (push) Has been cancelled
Linux CMake / gcc-13 (push) Has been cancelled
Linux CMake / gcc-14 (push) Has been cancelled
macOS CMake / cmake_build_on_macos (push) Has been cancelled
NetBSD CMake / netbsd-10.1-aarch64 (push) Has been cancelled
NetBSD CMake / netbsd-10.1-amd64 (push) Has been cancelled
Continuous Build FreeBSD / build-freebsd (clang++) (push) Has been cancelled
Continuous Build FreeBSD / build-freebsd (g++) (push) Has been cancelled
Continuous Build Gpu / gpu_build_linux (push) Has been cancelled
Continuous Build Linux / static-build (aarch64-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (aarch64_be-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (arm-linux-musleabi) (push) Has been cancelled
Continuous Build Linux / static-build (arm-linux-musleabihf) (push) Has been cancelled
Continuous Build Linux / static-build (armeb-linux-musleabi) (push) Has been cancelled
Continuous Build Linux / static-build (armeb-linux-musleabihf) (push) Has been cancelled
Continuous Build Linux / static-build (armel-linux-musleabi) (push) Has been cancelled
Continuous Build Linux / static-build (armel-linux-musleabihf) (push) Has been cancelled
Continuous Build Linux / static-build (armv5l-linux-musleabi) (push) Has been cancelled
Continuous Build Linux / static-build (armv5l-linux-musleabihf) (push) Has been cancelled
Continuous Build Linux / static-build (armv6-linux-musleabi) (push) Has been cancelled
Continuous Build Linux / static-build (armv6-linux-musleabihf) (push) Has been cancelled
Continuous Build Linux / static-build (armv7l-linux-musleabihf) (push) Has been cancelled
Continuous Build Linux / static-build (armv7m-linux-musleabi) (push) Has been cancelled
Continuous Build Linux / static-build (armv7r-linux-musleabihf) (push) Has been cancelled
Continuous Build Linux / static-build (i486-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (i686-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (m68k-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (mips-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (mips-linux-musln32sf) (push) Has been cancelled
Continuous Build Linux / static-build (mips-linux-muslsf) (push) Has been cancelled
Continuous Build Linux / static-build (mips64-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (mips64-linux-musln32) (push) Has been cancelled
Continuous Build Linux / static-build (mips64-linux-musln32sf) (push) Has been cancelled
Continuous Build Linux / static-build (mips64el-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (mips64el-linux-musln32) (push) Has been cancelled
Continuous Build Linux / static-build (mips64el-linux-musln32sf) (push) Has been cancelled
Continuous Build Linux / static-build (mipsel-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (mipsel-linux-musln32) (push) Has been cancelled
Continuous Build Linux / static-build (mipsel-linux-musln32sf) (push) Has been cancelled
Continuous Build Linux / static-build (mipsel-linux-muslsf) (push) Has been cancelled
Continuous Build Linux / static-build (powerpc-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (powerpc-linux-muslsf) (push) Has been cancelled
Continuous Build Linux / static-build (powerpc64-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (powerpc64le-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (powerpcle-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (powerpcle-linux-muslsf) (push) Has been cancelled
Continuous Build Linux / static-build (riscv32-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (riscv64-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (s390x-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (x86_64-linux-musl) (push) Has been cancelled
Continuous Build Linux / static-build (x86_64-linux-muslx32) (push) Has been cancelled
Continuous Build MacOS / build-macos (map[runner:macos-13 version:Ventura]) (push) Has been cancelled
Continuous Build MacOS / build-macos (map[runner:macos-14 version:Sonoma]) (push) Has been cancelled
Continuous Build MacOS / build-macos (map[runner:macos-15 version:Sequoia]) (push) Has been cancelled
Continuous Build NetBSD / build-netbsd (push) Has been cancelled
Continuous Build OpenBSD / build-openbsd (push) Has been cancelled
🧪 Test snap can be built on x86_64 / build (20.x) (push) Has been cancelled
Use the right config key for the tty setting, which is `tty_mode` and not
`force_tty`.
Rewrite the code to evaluate whether to force tty mode or not, which
wasn't respecting the command line flags correctly.
Closes: https://github.com/aristocratos/btop/issues/1190
2025-07-16 16:42:04 +00:00
aristocratos
0f398abd64
v1.4.4 Bug fixes
2025-07-03 22:53:42 +02:00
Rebecca Cran
dec33b445a
Fix auto-detection of CPU temp on Ampere boards ( #1185 )
...
Ampere boards use the APM X-Gene Hardware Monitoring driver. The label
the driver returns is "Soc Temperature" which the current code doesn't
detect. Fix that by adding a special case for it. This prevents it from
using the "CPU Power" sensor and reporting the CPU tempature as over
8000C (which is the power reported in mW).
Co-authored-by: Rebecca Cran <rebecca@os.amperecomputing.com >
2025-07-02 09:48:28 +00:00
aristocratos
1c2ab3f5b5
Merge branch 'main' of github.com:aristocratos/btop
2025-06-14 18:36:43 +02:00
aristocratos
589c133fb3
Fixed floating_humanizer() to work correctly when numeric delimiter isn't a dot.
2025-06-14 18:36:39 +02:00
Steffen Winter
1b0b89212e
Add command line option to set an inital filter
...
This will spawn btop with a filter already set, which can be edited and
also deleted as usual.
Beware that the filter will ALWAYS also match btop itself, since the
--filter argument on the command line will match.
Closes: https://github.com/aristocratos/btop/issues/883
2025-06-07 13:02:15 +00:00
Steffen Winter
27f11e4bc6
CMake: Create a library target for intel_gpu_top code
...
This allows the suppression of warnings specifically for the C code,
which throws lots of warnings with current compilers.
2025-06-03 08:57:17 +00:00
Steffen Winter
d429bcfe82
Exit gracefully if integer conversion in CLI parser fails
2025-06-01 22:35:38 +00:00
Steffen Winter
6d4bcacfee
Make 100ms the minimal refresh rate
...
Closes: https://github.com/aristocratos/btop/issues/1171
2025-06-01 22:35:38 +00:00
MrCocoNuat
42fac76af9
Fix wrong use of too in terminal size error message ( #1166 )
2025-05-27 08:03:10 +00:00
Tim Strijdhorst
cfe075e649
Make the disk filter description more clear ( #1077 )
2025-05-23 21:57:56 +00:00
Jacek Wieczorek
a6ab8f6f97
Lock/unlock config to avoid infinite recursion ( #1031 )
...
Closes : #996
2025-05-23 12:34:04 +00:00
xDMPx
d758fc8dc6
Fix incorrect positioning and start symbol of second title introduced in 2538d89ed9
2025-05-12 22:33:32 +00:00
aristocratos
ffcd064a36
Fix dangling reference warnings for GCC 13 and later
2025-05-11 01:07:52 +02:00
aristocratos
3f1ccd9f6c
v1.4.3 Bug fixes
2025-05-10 13:02:34 +02:00
Steffen Winter
d000384a41
Ignore incomplete filter regex
...
When a user enters a special regex character that expects a closing
character, btop will crash before the user has a chance to enter the
closing character. This will now just be ignored and no process will
match the filter until the regex is valid again.
Closes: https://github.com/aristocratos/btop/issues/1133
2025-05-03 12:59:36 +00:00
aristocratos
c3b225f536
Revert e266ccd which broke str_to_upper() and str_to_lower()
2025-05-03 13:25:46 +02:00
aristocratos
274d0c78e5
v1.4.2 Bug fixes
2025-05-01 22:24:11 +02:00
aristocratos
f1482fe87e
Fix process arguments appearing outside proc box by replacing ASCII control codes with blankspace, issue #1080
2025-05-01 21:59:49 +02:00
Steffen Winter
2538d89ed9
perf: use string view everywhere
...
This has the potential to avoid allocations when something non allocated
is implicitly converted.
2025-05-01 20:36:27 +02:00
Steffen Winter
c52b2c4c93
perf: avoid copies by moving string into struct
2025-05-01 20:36:27 +02:00
Steffen Winter
99713316e8
perf: avoid copies with capture-by-reference
2025-05-01 20:36:27 +02:00
Steffen Winter
eb7970ad89
refactor: use algorithm from <ranges>
2025-05-01 20:36:27 +02:00
Steffen Winter
e266ccdc99
refactor: remove unnecessary lamda
2025-05-01 20:36:27 +02:00
Steffen Winter
c7e76900ff
perf: use smaller enum base type
2025-05-01 20:36:27 +02:00
Tom Webber
fd35ac1b61
Update flags in help message and README
...
Co-authored-by: Steffen Winter <steffen.winter@proton.me >
2025-05-01 17:47:30 +00:00
Tom Webber
a5b01c1ac3
Fix wrong naming in documentation and error messages for force-utf argument
2025-05-01 17:47:30 +00:00
Steffen Winter
d3e16cb8e3
Respect the cli flags debug and force utf
...
This was missed in de0d295f6f .
2025-05-01 17:47:30 +00:00
Steffen Winter
70223c8c1c
Remove unused variable
2025-05-01 17:47:30 +00:00
bad code
684fbeb583
Fix devide by 0
...
src/linux/btop_collect.cpp:950:106: runtime error: division by zero
#0 0x61b286115a41 in Cpu::collect(bool) src/linux/btop_collect.cpp:950:106
#1 0x61b285e55cb7 in Runner::_runner(void*) src/btop.cpp:533:18
#2 0x61b285e085ca in asan_thread_start(void*) asan_interceptors.cpp.o
#3 0x7629b7719b7a in start_thread nptl/pthread_create.c:448:8
#4 0x7629b77977b7 in __GI___clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/linux/btop_collect.cpp:950:106
2025-05-01 11:21:51 +00:00
bad code
7906886e76
Avoid potential uninitialzed variables
...
Reported-by clang:
src/linux/btop_collect.cpp:489:10: error: variable 'high' may be uninitialized when used here [-Werror,-Wconditional-uninitialized]
489 | if (high < 1) high = 80;
| ^~~~
src/linux/btop_collect.cpp:482:18: note: initialize the variable 'high' to silence this warning
482 | int64_t high, crit;
| ^
| = 0
src/linux/btop_collect.cpp:490:10: error: variable 'crit' may be uninitialized when used here [-Werror,-Wconditional-uninitialized]
490 | if (crit < 1) crit = 95;
| ^~~~
src/linux/btop_collect.cpp:482:24: note: initialize the variable 'crit' to silence this warning
482 | int64_t high, crit;
| ^
| = 0
src/linux/btop_collect.cpp:1648:29: error: variable 'totalMem' may be uninitialized when used here [-Werror,-Wconditional-uninitialized]
1648 | if (not meminfo.good() or totalMem == 0)
| ^~~~~~~~
src/linux/btop_collect.cpp:1642:19: note: initialize the variable 'totalMem' to silence this warning
1642 | int64_t totalMem;
| ^
| = 0
2025-05-01 11:21:51 +00:00
bad code
9ecc10b66b
Avoid stack-use-after-return
...
The variable free_priv is a constant bool; pass by value.
Reported by Address Sanitizer:
SUMMARY: AddressSanitizer: stack-use-after-return src/linux/btop_collect.cpp:1931:17 in Mem::collect(bool)::$_0::operator()() const
2025-05-01 11:21:51 +00:00