mirror of
https://github.com/aristocratos/btop.git
synced 2024-09-28 15:21:20 +12:00
934a9e3cf2
commit285fb215d1
Author: aristocratos <gnmjpl@gmail.com> Date: Thu Dec 28 13:10:18 2023 +0100 Proc::draw() -> Use std::erase_if() instead of for loops commit2fba934cde
Author: aristocratos <gnmjpl@gmail.com> Date: Wed Dec 27 00:54:28 2023 +0100 Fixed leftover code in GPU init logging false errors commitad14554f32
Author: aristocratos <gnmjpl@gmail.com> Date: Tue Dec 26 19:32:43 2023 +0100 Try alternative names for GPU libraries during GPU init commita8fda16bf6
Merge:e15e0b7
2796af3
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Tue Dec 26 19:19:14 2023 +0100 Merge pull request #696 from aristocratos/map_safety commit2796af3f37
Author: aristocratos <gnmjpl@gmail.com> Date: Tue Dec 26 19:18:37 2023 +0100 Document DEBUG flag for Makefile commitf484326bf2
Merge:b4eb397
e15e0b7
Author: aristocratos <gnmjpl@gmail.com> Date: Tue Dec 26 19:11:26 2023 +0100 Merge branch 'main' into map_safety commitb4eb397fc6
Author: aristocratos <gnmjpl@gmail.com> Date: Mon Dec 25 10:52:52 2023 +0100 Fix errors commit3c04a7a380
Author: aristocratos <gnmjpl@gmail.com> Date: Mon Dec 25 10:41:15 2023 +0100 Added more checks and debug logging commit8b81c4a4ec
Author: aristocratos <gnmjpl@gmail.com> Date: Mon Dec 25 03:28:35 2023 +0100 Return const refs commitf836233b64
Author: aristocratos <gnmjpl@gmail.com> Date: Mon Dec 25 02:49:24 2023 +0100 Remove robin_hood.h commit3a8ceacaf8
Author: aristocratos <gnmjpl@gmail.com> Date: Mon Dec 25 02:37:32 2023 +0100 Fix call to compact and missing utility include commite15e0b7188
Author: aristocratos <gnmjpl@gmail.com> Date: Mon Dec 25 02:27:38 2023 +0100 Revert "Replace robin_hood map and set with STD alternative and add safeVal() function for map/vector access with fallback" This reverts commit6c87ab6196
. commitced47a960f
Author: aristocratos <gnmjpl@gmail.com> Date: Mon Dec 25 02:26:13 2023 +0100 Replace robin_hood map and set with STD alternative and add safeVal() function for map/vector access with fallback commit6c87ab6196
Author: aristocratos <gnmjpl@gmail.com> Date: Mon Dec 25 02:16:15 2023 +0100 Replace robin_hood map and set with STD alternative and add safeVal() function for map/vector access with fallback commita2325371d4
Merge:aab2e8c
b598f02
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sun Dec 17 19:56:31 2023 +0100 Merge pull request #690 from aristocratos/osx-fix commitb598f02468
Merge:b1fe377
aab2e8c
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sun Dec 17 12:06:39 2023 +0100 Merge branch 'main' into osx-fix commitaab2e8cc55
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sun Dec 17 12:03:47 2023 +0100 Fixed test-snap-can-build.yml commitb1fe3779e1
Merge:7805242
2d15c41
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sun Dec 17 11:56:14 2023 +0100 Merge branch 'main' into osx-fix commit2d15c41555
Merge:fe699b4
2d3e453
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sun Dec 17 11:54:49 2023 +0100 Merge pull request #684 from kz6fittycent/main commit2d3e453ed5
Merge:0a38864
fe699b4
Author: kz6fittycent <jimmy.tigert@gmail.com> Date: Fri Dec 15 12:02:11 2023 -0600 Merge branch 'main' into main commit0a388647cc
Author: kz6fittycent <jimmy.tigert@gmail.com> Date: Fri Dec 15 12:01:45 2023 -0600 Update test-snap-can-build.yml whoops commit49f425f356
Author: kz6fittycent <jimmy.tigert@gmail.com> Date: Fri Dec 15 12:00:48 2023 -0600 Update test-snap-can-build.yml https://github.com/aristocratos/btop/pull/684#issuecomment-1852801811 commit780524267f
Author: Jos Dehaes <jos.dehaes@gmail.com> Date: Fri Dec 15 09:02:57 2023 +0100 conditional compile on Big Sur and up commitfe699b4333
Author: aristocratos <gnmjpl@gmail.com> Date: Tue Dec 12 23:20:09 2023 +0100 Version bump to 1.3.0 in preparation for upcoming release commit2d2df23198
Merge:d7b581e
b71538e
Author: aristocratos <gnmjpl@gmail.com> Date: Tue Dec 12 23:19:31 2023 +0100 Merge branch 'main' of github.com:aristocratos/btop commitd7b581eda4
Author: aristocratos <gnmjpl@gmail.com> Date: Tue Dec 12 23:17:36 2023 +0100 Updated changes commitb71538eabe
Merge:a017056
730af5d
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Tue Dec 12 23:07:39 2023 +0100 Merge pull request #666 from muneebmahmed/macos-clang commit730af5d4e1
Merge:0246b1b
a017056
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Tue Dec 12 23:05:52 2023 +0100 Merge branch 'main' into macos-clang commita017056ea0
Author: aristocratos <gnmjpl@gmail.com> Date: Tue Dec 12 23:05:07 2023 +0100 Added swap to ignore for statvfs() since it will always fail commite770cccaf8
Author: aristocratos <gnmjpl@gmail.com> Date: Tue Dec 12 22:55:48 2023 +0100 Added try->catch for get_zfs_stat_file() to avoid fs error commit0246b1b971
Author: Muneeb Ahmed <32603485+muneebmahmed@users.noreply.github.com> Date: Mon Nov 20 12:18:40 2023 -0800 Enable macos clang Apple clang uses different versioning from LLVM, so 15.0.0 is compatible commit6282f36f8f
Merge:cfd20a3
be73160
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Tue Dec 12 22:06:02 2023 +0100 Merge pull request #675 from imwints/cmake commitbe731600f1
Merge:f4b14ce
cfd20a3
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Tue Dec 12 22:01:21 2023 +0100 Merge branch 'main' into cmake commit450b59b657
Merge:875f08b
cfd20a3
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Tue Dec 12 21:55:27 2023 +0100 Merge branch 'main' into main commitcfd20a374b
Merge:14e664e
b6a8696
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Tue Dec 12 21:48:55 2023 +0100 Merge pull request #677 from imwints/cpu-model commitb6a86962e2
Merge:8096433
14e664e
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Tue Dec 12 21:47:01 2023 +0100 Merge branch 'main' into cpu-model commit14e664e756
Merge:0d35746
5902484
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Tue Dec 12 21:41:55 2023 +0100 Merge pull request #679 from masiboss/main commit875f08ba5e
Author: kz6fittycent <jimmy.tigert@gmail.com> Date: Tue Dec 12 14:27:16 2023 -0600 Update snapcraft.yaml - opengl - Testing opengl plug commit3ee4b18e57
Author: kz6fittycent <jimmy.tigert@gmail.com> Date: Tue Dec 12 14:14:59 2023 -0600 Update bug_report.md - added snap info for bug reports to delineate commit2973a76f2b
Merge:fb782a2
0d35746
Author: kz6fittycent <jimmy.tigert@gmail.com> Date: Tue Dec 12 14:06:44 2023 -0600 Merge branch 'aristocratos:main' into main commitfb782a2ab3
Author: kz6fittycent <jimmy.tigert@gmail.com> Date: Tue Dec 12 14:02:27 2023 -0600 Create test-snap-can-build.yml commit5902484f39
Author: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu Dec 7 21:42:11 2023 +0100 simplify removal of "Apple" commit5beb9e12e5
Author: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu Dec 7 20:56:40 2023 +0100 in case apple decides to add another suffix to the cpu name commit1b2f11b412
Author: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu Dec 7 20:49:34 2023 +0100 cut less of cpu name if frequency is not shown commitbcf4ad8ab6
Author: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu Dec 7 19:50:12 2023 +0100 fix array out of bounds on regular m chip commitaeefcacbc9
Author: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu Dec 7 19:34:11 2023 +0100 fix cpu version not included commit23698940df
Author: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu Dec 7 19:23:58 2023 +0100 strip "Apple" from name of Apple silicon chips commit8096433736
Author: Steffen Winter <steffen.winter@proton.me> Date: Tue Dec 5 02:34:24 2023 +0100 Fix printed model name for older Intel CPU commitf4b14ce97e
Author: Steffen Winter <steffen.winter@proton.me> Date: Tue Dec 5 01:00:14 2023 +0100 Add CMake compile instructions for macOS commit97b35d9720
Author: Steffen Winter <steffen.winter@proton.me> Date: Sat Dec 2 00:35:13 2023 +0100 Add cmake workflow for all platforms commite35538fa29
Author: Steffen Winter <steffen.winter@proton.me> Date: Sat Dec 2 00:34:32 2023 +0100 Patch RPATH on FreeBSD, support OSX and format commit0d357468b5
Merge:ebc46ca
00f58b6
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Fri Dec 1 22:52:51 2023 +0100 Merge pull request #674 from imwints/bsd-workflow Provide FreeBSD static release binaries commit00f58b6228
Author: Steffen Winter <steffen.winter@proton.me> Date: Thu Nov 30 23:07:52 2023 +0100 Provide FreeBSD static release binaries Bumps vmaction@freesdb-vm to version 1 which runs on Linux and doesn't hang all the time. Also uses clang for full static compilation commitebc46ca12c
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Mon Nov 27 18:21:42 2023 +0100 Clean up compile instructions commitd1384c9341
Merge:2b0cc37
6f12e35
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Mon Nov 27 17:53:39 2023 +0100 Merge pull request #671 from imwints/cmake-gpu Bring GPU support to CMake and improve how Make handles the ROCm library build commit6f12e3555d
Author: Steffen Winter <steffen.winter@proton.me> Date: Mon Nov 27 00:33:11 2023 +0100 Properly invoke CMake to build ROCm * Build an optimized library by default * Only build the library target * ROCm is build with debug symbols when `make DEBUG=true` * Enable LTO * Use the more generic CMake build command instead of calling make directly, this always uses all cores by default and makes it easier to switch to another generator e.g. Ninja * Use a variable to store the ROCm source directory. The directory can be changed with `make ROCM_DIR=<dir>` * The static library is now directly linked by CMake and not created off of the object files from a shared library build * The C++ compiler used to compile btop is now used to compile ROCm to avoid name mangling when `CXX` from the environment and `make CXX=` differ * CMake is invoked from btop's root directory commit0585bc9cfb
Author: Steffen Winter <steffen.winter@proton.me> Date: Mon Nov 27 00:31:10 2023 +0100 Suppress all output from ROCm build Similar to including external include files with `-isystem`, ignore output from ROCm build since these warnings aren't a concern here commit831be262b0
Author: Steffen Winter <steffen.winter@proton.me> Date: Mon Nov 27 00:29:14 2023 +0100 Remove ROCm object files with `make clean/distclean` commit2f59e61d87
Author: Steffen Winter <steffen.winter@proton.me> Date: Sun Nov 26 22:56:58 2023 +0100 Add GPU options for cmake based builds commit7588d96dd4
Author: Steffen Winter <steffen.winter@proton.me> Date: Sun Nov 26 21:40:29 2023 +0100 Add check for <ranges> header commitebbb769a6a
Author: Steffen Winter <steffen.winter@proton.me> Date: Sun Nov 26 21:39:13 2023 +0100 Move calls to find_package to where they're required commited0fa34a9d
Author: Steffen Winter <steffen.winter@proton.me> Date: Sun Nov 26 19:39:29 2023 +0100 Bump required CMake version commit2b0cc37632
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Nov 25 23:11:54 2023 +0100 Update compile instructions for Gpu support commit359c67136b
Author: aristocratos <gnmjpl@gmail.com> Date: Sat Nov 25 22:49:26 2023 +0100 Update changelog commit5b01235315
Merge:0267eba
0bb8599
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Nov 25 21:57:32 2023 +0100 Merge pull request #529 from romner-set/main Add GPU monitoring support commit0bb8599a96
Merge:94d4502
0267eba
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Nov 25 21:51:09 2023 +0100 Merge branch 'main' into main commit94d4502901
Author: aristocratos <gnmjpl@gmail.com> Date: Sat Nov 25 21:48:50 2023 +0100 Readme update and Makfile fixes. commit19bcff894b
Author: aristocratos <gnmjpl@gmail.com> Date: Sat Nov 25 21:01:11 2023 +0100 Squashed commit of the following: commit0267eba2bb
Merge:50bbab0
e81cf2b
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Wed Nov 15 21:43:18 2023 +0100 Merge pull request #659 from ivanp7/patch-1 Add alternative key codes for Delete, Insert, Home, End commit50bbab0512
Merge:9edbf27
5a14c7b
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Wed Nov 15 21:35:50 2023 +0100 Merge pull request #660 from stradicat/feature/elementarish Elementarish theme: color update according to Elementary palette commit5a14c7b6fa
Merge:979506f
71eb414
Author: Dennis Mayr <dmayr.dev@gmail.com> Date: Wed Nov 15 17:27:34 2023 -0300 Merge branch 'main' of https://github.com/stradicat/btop commit979506f18e
Author: Dennis Mayr <dmayr.dev@gmail.com> Date: Wed Nov 8 11:17:47 2023 -0300 Elementarish theme: color update according to Elementary palette commit71eb4142e8
Author: Dennis Mayr <dmayr.dev@gmail.com> Date: Wed Nov 8 11:17:47 2023 -0300 Elementarish theme: color update according to Elementary palette commite81cf2b7ff
Author: vân <3432246+ivanp7@users.noreply.github.com> Date: Tue Nov 7 15:12:27 2023 +0000 Add alternative key codes for Insert, Home, End commitf9452ff6d5
Author: vân <3432246+ivanp7@users.noreply.github.com> Date: Mon Nov 6 13:31:53 2023 +0000 Add alternative Delete key code Delete key not always produces ^[[3~, on some terminals (like st) it produces ^[[P. commit9edbf27f1b
Merge:2a864f6
ff1f51c
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Oct 21 02:09:55 2023 +0200 Merge pull request #649 from nobounce/workflow-timeout Set FreeBSD workflow timeout commitff1f51ccbb
Author: Steffen Winter <steffen.winter@proton.me> Date: Wed Oct 18 22:26:36 2023 +0200 Set FreeBSD workflow timeout Recently the FreeBSD workflow has started to hang in a boot loop when the VM starts up. The issue is being tracked upstream but there is not response at the moment. To work around this set a timeout to not waste CI minutes. Other workflows might also want this change since they don't take 20 minutes anyway. commit2a864f6f2e
Merge:636eb25
b2bf8ef
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Oct 7 10:40:54 2023 +0200 Merge pull request #643 from DecklynKern/main Fix scrollbar not clearing sometimes. commitb2bf8ef504
Author: DecklynKern <DecklynKern@gmail.com> Date: Fri Oct 6 17:33:38 2023 -0600 Fix scrollbar not clearing sometimes. commit636eb25f5e
Merge:260c0f6
b5ba2fc
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Sep 30 19:51:03 2023 +0200 Merge pull request #623 from rahulaggarwal965/main Add keybind for toggling memory display mode in PROC box commitb5ba2fc963
Author: Rahul Aggarwal <rahulaggarwal965@gmail.com> Date: Wed Sep 20 22:55:56 2023 -0400 Add keybind for toggling memory display mode in PROC box commit260c0f6623
Merge:52bfff7
e6a06eb
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Sep 30 18:56:25 2023 +0200 Merge pull request #635 from lvxnull/editorconfig Add hpp files to .editorconfig commite6a06eb729
Author: lvxnull <86745229+lvxnull@users.noreply.github.com> Date: Thu Sep 28 19:44:47 2023 +0200 Add hpp files to .editorconfig commit52bfff7ceb
Merge:1f72e56
19dbbe1
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Sep 30 18:55:08 2023 +0200 Merge pull request #636 from nobounce/performance-iili Minor string initialization improvement commit19dbbe1a17
Author: nobounce <steffen.winter@proton.me> Date: Fri Sep 29 12:20:59 2023 +0200 Minor string initialization improvement commit1f72e56c7d
Merge:278a0e6
cdcf8bc
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Fri Sep 29 10:43:21 2023 +0200 Merge pull request #633 from crestfallnatwork/main [fix] Made disks statvfs logic asynchronous. commitcdcf8bc929
Author: crestfalln <guptahiman01@gmail.com> Date: Fri Sep 29 09:07:27 2023 +0530 fixed bug where updated disks stats overrided disk io data commit9b4e85f08d
Author: crestfalln <no-reply@crestfalln.com> Date: Thu Sep 28 04:57:05 2023 +0530 fixed bug where updated disks stats overrided disk io data commit889623874e
Author: crestfalln <no-reply@crestfalln.com> Date: Wed Sep 27 23:57:06 2023 +0530 made disks stat logic async commit278a0e6b17
Merge:d16adc9
e89519f
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Thu Sep 28 18:32:09 2023 +0200 Merge pull request #630 from lvxnull/signal-list Fix signal list on non-linux/weird linux platforms commite89519fbb2
Author: lvxnull <86745229+lvxnull@users.noreply.github.com> Date: Sun Sep 24 21:44:38 2023 +0200 Fix signal list on non-linux/weird linux platforms commitd16adc9fd0
Merge:2c3ac48
f34b408
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Thu Sep 28 18:20:42 2023 +0200 Merge pull request #618 from nobounce/aggregate-child-processes Add option to accumulate a child's resources in parent in tree-view commitf34b40892f
Author: nobounce <steffen.winter@proton.me> Date: Sun Sep 24 16:34:50 2023 +0200 Make process thread count better readable when wider than 5 digits commit6027cedd42
Author: nobounce <steffen.winter@proton.me> Date: Thu Sep 14 23:27:05 2023 +0200 Add option to accumulate a child's resources in parent in tree-view commit2c3ac4855d
Merge:f90dc37
5c6a281
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Wed Sep 13 21:14:56 2023 +0200 Merge pull request #589 from nobounce/cmake Add CMake support for Linux commitf90dc37c26
Merge:0cac861
68a49c1
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Wed Sep 13 20:27:05 2023 +0200 Merge pull request #610 from SidVeld/feature/horizon-theme Horizon theme commit5c6a281002
Author: nobounce <steffen.winter@proton.me> Date: Tue Aug 29 20:39:00 2023 +0200 Add CMake support Linux is completly supported FreeBSD is not able to create a static executable for now. See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273398 MacOS was not tested commit68a49c10a6
Author: SidVeld <sidveld@gmail.com> Date: Wed Sep 6 18:03:31 2023 +0300 Add horizon theme commit0cac861910
Merge:31be436
f798acd
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Tue Sep 5 19:27:38 2023 +0200 Merge pull request #609 from scorpion-26/byteconv Fix short conversion of 1000-1023 *iB commitf798acdaf7
Author: scorpion-26 <dev.scorpion26@gmail.com> Date: Tue Sep 5 18:00:47 2023 +0200 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") commit31be4362ce
Author: aristocratos <gnmjpl@gmail.com> Date: Sun Aug 27 02:00:07 2023 +0200 FreeBSD Github action 13.1 -> 13.2 and static libgcc and libstdc++ commitfc523fd1d0
Author: aristocratos <gnmjpl@gmail.com> Date: Sun Aug 27 01:36:26 2023 +0200 Fix for FreeBSD github action not failing "correctly"... commitb87772611c
Author: aristocratos <gnmjpl@gmail.com> Date: Sat Nov 25 20:44:45 2023 +0100 Added definition GPU_SUPPORT to toggle GPU related code commit0267eba2bb
Merge:50bbab0
e81cf2b
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Wed Nov 15 21:43:18 2023 +0100 Merge pull request #659 from ivanp7/patch-1 Add alternative key codes for Delete, Insert, Home, End commit50bbab0512
Merge:9edbf27
5a14c7b
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Wed Nov 15 21:35:50 2023 +0100 Merge pull request #660 from stradicat/feature/elementarish Elementarish theme: color update according to Elementary palette commit5a14c7b6fa
Merge:979506f
71eb414
Author: Dennis Mayr <dmayr.dev@gmail.com> Date: Wed Nov 15 17:27:34 2023 -0300 Merge branch 'main' of https://github.com/stradicat/btop commit979506f18e
Author: Dennis Mayr <dmayr.dev@gmail.com> Date: Wed Nov 8 11:17:47 2023 -0300 Elementarish theme: color update according to Elementary palette commit71eb4142e8
Author: Dennis Mayr <dmayr.dev@gmail.com> Date: Wed Nov 8 11:17:47 2023 -0300 Elementarish theme: color update according to Elementary palette commite81cf2b7ff
Author: vân <3432246+ivanp7@users.noreply.github.com> Date: Tue Nov 7 15:12:27 2023 +0000 Add alternative key codes for Insert, Home, End commitf9452ff6d5
Author: vân <3432246+ivanp7@users.noreply.github.com> Date: Mon Nov 6 13:31:53 2023 +0000 Add alternative Delete key code Delete key not always produces ^[[3~, on some terminals (like st) it produces ^[[P. commit9edbf27f1b
Merge:2a864f6
ff1f51c
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Oct 21 02:09:55 2023 +0200 Merge pull request #649 from nobounce/workflow-timeout Set FreeBSD workflow timeout commitff1f51ccbb
Author: Steffen Winter <steffen.winter@proton.me> Date: Wed Oct 18 22:26:36 2023 +0200 Set FreeBSD workflow timeout Recently the FreeBSD workflow has started to hang in a boot loop when the VM starts up. The issue is being tracked upstream but there is not response at the moment. To work around this set a timeout to not waste CI minutes. Other workflows might also want this change since they don't take 20 minutes anyway. commit2a864f6f2e
Merge:636eb25
b2bf8ef
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Oct 7 10:40:54 2023 +0200 Merge pull request #643 from DecklynKern/main Fix scrollbar not clearing sometimes. commitb2bf8ef504
Author: DecklynKern <DecklynKern@gmail.com> Date: Fri Oct 6 17:33:38 2023 -0600 Fix scrollbar not clearing sometimes. commit636eb25f5e
Merge:260c0f6
b5ba2fc
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Sep 30 19:51:03 2023 +0200 Merge pull request #623 from rahulaggarwal965/main Add keybind for toggling memory display mode in PROC box commitb5ba2fc963
Author: Rahul Aggarwal <rahulaggarwal965@gmail.com> Date: Wed Sep 20 22:55:56 2023 -0400 Add keybind for toggling memory display mode in PROC box commit260c0f6623
Merge:52bfff7
e6a06eb
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Sep 30 18:56:25 2023 +0200 Merge pull request #635 from lvxnull/editorconfig Add hpp files to .editorconfig commite6a06eb729
Author: lvxnull <86745229+lvxnull@users.noreply.github.com> Date: Thu Sep 28 19:44:47 2023 +0200 Add hpp files to .editorconfig commit52bfff7ceb
Merge:1f72e56
19dbbe1
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Sep 30 18:55:08 2023 +0200 Merge pull request #636 from nobounce/performance-iili Minor string initialization improvement commit19dbbe1a17
Author: nobounce <steffen.winter@proton.me> Date: Fri Sep 29 12:20:59 2023 +0200 Minor string initialization improvement commit1f72e56c7d
Merge:278a0e6
cdcf8bc
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Fri Sep 29 10:43:21 2023 +0200 Merge pull request #633 from crestfallnatwork/main [fix] Made disks statvfs logic asynchronous. commitcdcf8bc929
Author: crestfalln <guptahiman01@gmail.com> Date: Fri Sep 29 09:07:27 2023 +0530 fixed bug where updated disks stats overrided disk io data commit9b4e85f08d
Author: crestfalln <no-reply@crestfalln.com> Date: Thu Sep 28 04:57:05 2023 +0530 fixed bug where updated disks stats overrided disk io data commit889623874e
Author: crestfalln <no-reply@crestfalln.com> Date: Wed Sep 27 23:57:06 2023 +0530 made disks stat logic async commit278a0e6b17
Merge:d16adc9
e89519f
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Thu Sep 28 18:32:09 2023 +0200 Merge pull request #630 from lvxnull/signal-list Fix signal list on non-linux/weird linux platforms commite89519fbb2
Author: lvxnull <86745229+lvxnull@users.noreply.github.com> Date: Sun Sep 24 21:44:38 2023 +0200 Fix signal list on non-linux/weird linux platforms commitd16adc9fd0
Merge:2c3ac48
f34b408
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Thu Sep 28 18:20:42 2023 +0200 Merge pull request #618 from nobounce/aggregate-child-processes Add option to accumulate a child's resources in parent in tree-view commitf34b40892f
Author: nobounce <steffen.winter@proton.me> Date: Sun Sep 24 16:34:50 2023 +0200 Make process thread count better readable when wider than 5 digits commit6027cedd42
Author: nobounce <steffen.winter@proton.me> Date: Thu Sep 14 23:27:05 2023 +0200 Add option to accumulate a child's resources in parent in tree-view commit2c3ac4855d
Merge:f90dc37
5c6a281
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Wed Sep 13 21:14:56 2023 +0200 Merge pull request #589 from nobounce/cmake Add CMake support for Linux commitf90dc37c26
Merge:0cac861
68a49c1
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Wed Sep 13 20:27:05 2023 +0200 Merge pull request #610 from SidVeld/feature/horizon-theme Horizon theme commit5c6a281002
Author: nobounce <steffen.winter@proton.me> Date: Tue Aug 29 20:39:00 2023 +0200 Add CMake support Linux is completly supported FreeBSD is not able to create a static executable for now. See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273398 MacOS was not tested commit68a49c10a6
Author: SidVeld <sidveld@gmail.com> Date: Wed Sep 6 18:03:31 2023 +0300 Add horizon theme commit0cac861910
Merge:31be436
f798acd
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Tue Sep 5 19:27:38 2023 +0200 Merge pull request #609 from scorpion-26/byteconv Fix short conversion of 1000-1023 *iB commitf798acdaf7
Author: scorpion-26 <dev.scorpion26@gmail.com> Date: Tue Sep 5 18:00:47 2023 +0200 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") commit975525d38f
Author: aristocratos <gnmjpl@gmail.com> Date: Sun Aug 27 12:34:46 2023 +0200 Fix: Cpu gpu stats always shown when show_gpu_info is On and sizing issues commit08abf0b930
Author: aristocratos <gnmjpl@gmail.com> Date: Sun Aug 27 01:28:36 2023 +0200 Quickfixes for MacOS and FreeBSD compilation. commit7290109f80
Author: aristocratos <gnmjpl@gmail.com> Date: Sun Aug 27 00:58:30 2023 +0200 Merge fix commit283d463242
Merge:efddad4
c296ac1
Author: aristocratos <gnmjpl@gmail.com> Date: Sun Aug 27 00:56:22 2023 +0200 Merge branch 'main' into pr/romner-set/529 commitefddad42dc
Author: aristocratos <gnmjpl@gmail.com> Date: Sun Aug 27 00:39:57 2023 +0200 Changed: cpu_graph_lower Auto defaults to cpu_graph_upper when show_gpu_info is Off commita9bc0874d4
Author: aristocratos <gnmjpl@gmail.com> Date: Sun Aug 27 00:31:07 2023 +0200 Added show_gpu_info setting and Auto options for cpu graphs commitb3970ee19c
Author: aristocratos <gnmjpl@gmail.com> Date: Sat Aug 26 20:52:59 2023 +0200 Fixed: Key 5-0 gpu box toggle commitbd5d697830
Author: aristocratos <gnmjpl@gmail.com> Date: Sat Aug 26 20:29:43 2023 +0200 Squashed commit of the following: commitc296ac13cd
Merge:9a1e760
091c30a
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Aug 26 19:29:57 2023 +0200 Merge pull request #590 from nobounce/dangling-reference-config Convert parameters and config keys to std::string_view commit9a1e760a66
Merge:9c8af4d
22e64ca
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Aug 26 19:20:18 2023 +0200 Merge pull request #602 from jfouquart/main Fix getting zfs pool name with '.' char in freebsd commit9c8af4df43
Merge:8a49d8c
2217cbe
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Aug 26 19:18:55 2023 +0200 Merge pull request #601 from joske/cleanup [macos] don't check /sys on macos commit8a49d8cf45
Merge:1556388
008fcd8
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Aug 26 19:18:07 2023 +0200 Merge pull request #600 from joske/makefile [macos/freebsd] support gcc13 commit1556388c83
Merge:1b126f5
d17e1a2
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sat Aug 26 19:14:00 2023 +0200 Merge pull request #599 from joske/main [macos] fix temp sensor on system with many cores commitd17e1a2dac
Author: Jos Dehaes <jos.dehaes@gmail.com> Date: Fri Aug 25 16:18:39 2023 +0200 fix some warnings commit4d8aa6b118
Author: Jos Dehaes <jos.dehaes@gmail.com> Date: Fri Aug 25 15:52:58 2023 +0200 fix core check commit22e64caaff
Author: Jonathan Fouquart <jfouquart@hotmail.fr> Date: Fri Aug 25 09:37:49 2023 +0200 Fix getting zfs pool name with '.' char in freebsd commit2217cbe143
Author: Jos Dehaes <jos.dehaes@gmail.com> Date: Wed Aug 23 16:01:04 2023 +0200 [macos] don't check /sys on macos commit008fcd889e
Author: Jos Dehaes <jos.dehaes@gmail.com> Date: Wed Aug 23 16:05:00 2023 +0200 also add g++13 commit0fdca5eb03
Author: Jos Dehaes <jos.dehaes@gmail.com> Date: Wed Aug 23 15:54:07 2023 +0200 support gcc13 commitdcbdb7360d
Author: Jos Dehaes <jos.dehaes@gmail.com> Date: Wed Aug 23 15:46:47 2023 +0200 [macos] fix temp sensor on system with many cores commit1b126f55e3
Author: aristocratos <gnmjpl@gmail.com> Date: Fri Aug 4 01:08:27 2023 +0200 Update Makefile for partial static compilation on freebsd commitc8ec6bbb00
Author: aristocratos <gnmjpl@gmail.com> Date: Thu Aug 3 23:08:33 2023 +0200 Fix freebsd nullptr changes and makefile for gcc12 and newer commit8a33aab588
Merge:94e5c02
e4abcef
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Sun Jul 30 13:21:48 2023 +0200 Merge pull request #539 from nobounce/replace-NULL-nullptr Modernize using nullptr. commit94e5c02d11
Author: aristocratos <gnmjpl@gmail.com> Date: Thu Jul 27 20:51:21 2023 +0200 Better text editing commit091c30ab2b
Author: nobounce <steffen.winter@proton.me> Date: Thu Jul 27 14:17:54 2023 +0200 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 commite4abcefbf9
Author: nobounce <steffen.winter@proton.me> Date: Wed Jul 26 16:19:17 2023 +0200 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. commitd53307f14c
Author: nobounce <steffen.winter@proton.me> Date: Sun Jul 23 19:53:36 2023 +0200 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 commit594f42b9eb
Merge:aca2e4b
53d6eba
Author: Jakob P. Liljenberg <admin@qvantnet.com> Date: Wed Jul 26 15:38:01 2023 +0200 Merge pull request #584 from nobounce/nb/fix-ci-path Fix path to Linux CI file in itself commitaca2e4be75
Author: aristocratos <gnmjpl@gmail.com> Date: Wed Jul 26 14:38:48 2023 +0200 Fix whitespace indent -> tab indent commit33faa01910
Author: aristocratos <gnmjpl@gmail.com> Date: Wed Jul 26 14:34:15 2023 +0200 Revert fmt submodule to static fmt folder in include commit53d6ebabc0
Author: nobounce <steffen.winter@proton.me> Date: Sun Jul 23 19:53:36 2023 +0200 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 commit346c9e479b
Author: romner <roman@skotnica.com> Date: Wed Jul 19 16:53:58 2023 +0200 Fix GPU text overflow in CPU panel, again commit3a5e5fd5d3
Author: romner <roman@skotnica.com> Date: Wed Jul 19 16:22:45 2023 +0200 Improve 0-10 key input commit972b2b6a01
Author: romner <roman@skotnica.com> Date: Wed Jul 19 15:54:35 2023 +0200 Fix available boxes in menu & config description commit1f73453aec
Author: romner <roman@skotnica.com> Date: Wed Jul 19 15:34:23 2023 +0200 Fix crashes when trying to open nth GPU box with only n-1 GPUs in the system commit46c6be0a29
Author: romner <roman@skotnica.com> Date: Sun Jul 16 17:19:09 2023 +0200 Fix GPU horizontal text overflow in CPU panel commit85fb28cee6
Author: romner <roman@skotnica.com> Date: Fri Jul 14 02:39:44 2023 +0200 Fix RSMI_STATIC=true and add GPU section to README.md commit3fad8a6fde
Author: romner-set <roman@skotnica.com> Date: Mon Jun 26 13:10:31 2023 +0200 Add GPU options commit746f716a02
Author: romner-set <roman@skotnica.com> Date: Fri Jun 16 11:11:57 2023 +0200 Remove lib/rocm_smi_lib and add instructions for obtaining it to README commitd8ebbe1181
Author: romner <roman@skotnica.com> Date: Thu Jun 8 20:24:01 2023 +0200 Join NVML PCIe threads only if PCIe TX/RX is supported by GPU commitbe10989151
Author: romner <roman@skotnica.com> Date: Tue Jun 6 19:47:07 2023 +0200 Parallelize NVML PCIe TX/RX data collection commit85892a9fe3
Author: aristocratos <gnmjpl@gmail.com> Date: Mon Jun 5 21:59:26 2023 +0200 Fix type: ulong -> size_t and compare std::cmp_less commit85a10f0305
Author: romner <roman@skotnica.com> Date: Fri Jun 2 16:14:24 2023 +0200 Fix ROCm SMI makefile flags commitcd6979277d
Author: romner <roman@skotnica.com> Date: Fri Jun 2 15:44:44 2023 +0200 Fix error when ROCm SMI static compilation fails commitdaaa45324f
Author: romner <roman@skotnica.com> Date: Fri Jun 2 15:34:12 2023 +0200 Load ROCm SMI dynamically by default, optionally statically compile and link commit093edfe948
Author: aristocratos <gnmjpl@gmail.com> Date: Thu Jun 1 19:49:00 2023 +0200 Minor changes in wording... commitb9a4d31fa4
Author: aristocratos <gnmjpl@gmail.com> Date: Thu Jun 1 19:37:53 2023 +0200 Fix Makefile dependency order and layout commita0163ce220
Author: romner <roman@skotnica.com> Date: Thu Jun 1 16:42:02 2023 +0200 Statically link ROCm SMI commitb2df0696fd
Author: romner-set <roman@skotnica.com> Date: Thu Jun 1 03:41:56 2023 +0200 Dynamically load NVML commit547f17dda3
Author: romner-set <roman@skotnica.com> Date: Tue May 30 18:24:50 2023 +0200 Add more GPU graph types to the CPU panel commit842c761a73
Author: romner-set <roman@skotnica.com> Date: Mon May 22 09:46:20 2023 +0200 Fix crash when all GPU panels are open but the CPU panel is closed commit8c96bd51e9
Author: romner <roman@skotnica.com> Date: Sun May 21 20:34:47 2023 +0200 Handle GPUs which cannot report certain stats in GPU panel commit414d7eb94c
Author: romner <roman@skotnica.com> Date: Sun May 21 18:02:50 2023 +0200 Handle GPUs which cannot report certain stats in btop_collect.cpp and CPU panel commit005de97e6d
Author: aristocratos <gnmjpl@gmail.com> Date: Sun May 21 13:58:11 2023 +0200 Add missing fmt prefixes commit1fee2bc08b
Author: aristocratos <gnmjpl@gmail.com> Date: Sun May 21 13:52:19 2023 +0200 Add DebugTimer class and change some Logger::error calls to Logger::debug commit2e68c0b916
Author: aristocratos <gnmjpl@gmail.com> Date: Sat May 20 17:27:20 2023 +0200 Fixed key > gpu_names check commit04ed16a9f6
Author: aristocratos <gnmjpl@gmail.com> Date: Sat May 20 17:15:45 2023 +0200 Merged changes from main commit8c710a2b68
Author: aristocratos <gnmjpl@gmail.com> Date: Sat May 20 01:41:04 2023 +0200 Makefile auto detection and initial logic for excluding gpu code when libs are missing commit8bae1ec092
Author: aristocratos <gnmjpl@gmail.com> Date: Sat May 20 00:13:00 2023 +0200 Fixed debug timer for gpu commit01acfd603e
Author: romner-set <roman@skotnica.com> Date: Fri May 19 16:42:32 2023 +0200 Bind GPU panel to 5,6,7,8,9,0 and fully implement multi-GPU support commit22a463976d
Author: romner <roman@skotnica.com> Date: Thu May 18 16:07:05 2023 +0200 Add GPU info to CPU panel commitc352bf2613
Author: romner-set <roman@skotnica.com> Date: Mon May 15 19:42:55 2023 +0200 Add ROCm SMI backend for AMD GPU support commit917d568a77
Author: romner-set <roman@skotnica.com> Date: Mon May 15 13:58:54 2023 +0200 Add multi-GPU support for NVML data collection commit2d27f2ff61
Author: romner <roman@skotnica.com> Date: Sun May 14 17:40:50 2023 +0200 Fix crash when no nvidia GPU is detected commit0e0025a2c3
Author: romner <roman@skotnica.com> Date: Sun May 14 17:31:39 2023 +0200 Update makefile text, fix typo and adhere to contibuting guidelines commitbcffcdf19f
Author: romner <roman@skotnica.com> Date: Sun May 14 16:53:06 2023 +0200 Make GPU window's size dynamic and integrate it with the rest of btop commit95b3228308
Author: romner <roman@skotnica.com> Date: Sat May 13 19:41:51 2023 +0200 Improve GPU side panel commitadcdc583b0
Author: romner <roman@skotnica.com> Date: Sat May 13 00:27:23 2023 +0200 Add GPU side panel commitd522a91ef4
Author: romner <roman@skotnica.com> Date: Fri May 12 19:34:47 2023 +0200 Add rudimentary, fullscreen single-GPU NVML utilization graph
1131 lines
38 KiB
Markdown
1131 lines
38 KiB
Markdown
# ![btop++](Img/logo.png)
|
|
|
|
<a href="https://repology.org/project/btop/versions">
|
|
<img src="https://repology.org/badge/vertical-allrepos/btop.svg" alt="Packaging status" align="right">
|
|
</a>
|
|
|
|
![Linux](https://img.shields.io/badge/-Linux-grey?logo=linux)
|
|
![macOS](https://img.shields.io/badge/-OSX-black?logo=apple)
|
|
![FreeBSD](https://img.shields.io/badge/-FreeBSD-red?logo=freebsd)
|
|
![Usage](https://img.shields.io/badge/Usage-System%20resource%20monitor-yellow)
|
|
![c++20](https://img.shields.io/badge/cpp-c%2B%2B20-green)
|
|
![latest_release](https://img.shields.io/github/v/tag/aristocratos/btop?label=release)
|
|
[![Donate](https://img.shields.io/badge/-Donate-yellow?logo=paypal)](https://paypal.me/aristocratos)
|
|
[![Sponsor](https://img.shields.io/badge/-Sponsor-red?logo=github)](https://github.com/sponsors/aristocratos)
|
|
[![Coffee](https://img.shields.io/badge/-Buy%20me%20a%20Coffee-grey?logo=Ko-fi)](https://ko-fi.com/aristocratos)
|
|
[![btop](https://snapcraft.io/btop/badge.svg)](https://snapcraft.io/btop)
|
|
[![Continuous Build Linux](https://github.com/aristocratos/btop/actions/workflows/continuous-build-linux.yml/badge.svg)](https://github.com/aristocratos/btop/actions/workflows/continuous-build-linux.yml)
|
|
[![Continuous Build macOS](https://github.com/aristocratos/btop/actions/workflows/continuous-build-macos.yml/badge.svg)](https://github.com/aristocratos/btop/actions/workflows/continuous-build-macos.yml)
|
|
[![Continuous Build FreeBSD](https://github.com/aristocratos/btop/actions/workflows/continuous-build-freebsd.yml/badge.svg)](https://github.com/aristocratos/btop/actions/workflows/continuous-build-freebsd.yml)
|
|
|
|
## Index
|
|
|
|
* [News](#news)
|
|
* [Documents](#documents)
|
|
* [Description](#description)
|
|
* [Features](#features)
|
|
* [Themes](#themes)
|
|
* [Support and funding](#support-and-funding)
|
|
* [Prerequisites](#prerequisites) (Read this if you are having issues!)
|
|
* [Screenshots](#screenshots)
|
|
* [Keybindings](#help-menu)
|
|
* [Installation Linux/macOS](#installation)
|
|
* [Compilation Linux](#compilation-linux)
|
|
* [Compilation macOS](#compilation-macos-osx)
|
|
* [Compilation FreeBSD](#compilation-freebsd)
|
|
* [GPU compatibility](#gpu-compatibility)
|
|
* [Installing the snap](#installing-the-snap)
|
|
* [Configurability](#configurability)
|
|
* [License](#license)
|
|
|
|
## News
|
|
|
|
##### 25 November 2023
|
|
|
|
GPU monitoring added for Linux!
|
|
|
|
Compile from git main to try it out.
|
|
|
|
Use keys `5`, `6`, `7` and `0` to show/hide the gpu monitoring boxes. `5` = Gpu 1, `6` = Gpu 2, etc.
|
|
|
|
Gpu stats/graphs can also be displayed in the "Cpu box" (not as verbose), see the cpu options menu for info and configuration.
|
|
|
|
Note that the binaries provided on the release page (when released) and the continuous builds will not have gpu support enabled.
|
|
|
|
Because the GPU support relies on loading of dynamic gpu libraries, gpu support will not work when also static linking.
|
|
|
|
See [Compilation Linux](#compilation-linux) for more info on how to compile with gpu monitoring support.
|
|
|
|
Many thanks to [@romner-set](https://github.com/romner-set) who wrote the vast majority of the implementation for GPU support.
|
|
|
|
Big update with version bump to 1.3 coming soon.
|
|
|
|
##### 28 August 2022
|
|
|
|
[![btop4win](https://github.com/aristocratos/btop4win/raw/master/Img/logo.png)](https://github.com/aristocratos/btop4win)
|
|
|
|
First release of btop4win available at https://github.com/aristocratos/btop4win
|
|
|
|
##### 16 January 2022
|
|
|
|
Release v1.2.0 with FreeBSD support. No release binaries for FreeBSD provided as of yet.
|
|
|
|
Again a big thanks to [@joske](https://github.com/joske) for his porting efforts!
|
|
|
|
Since compatibility with Linux, macOS and FreeBSD are done, the focus going forward will be on new features like GPU monitoring.
|
|
|
|
##### 13 November 2021
|
|
|
|
Release v1.1.0 with macOS support. Binaries in [continuous-build-macos](https://github.com/aristocratos/btop/actions/workflows/continuous-build-macos.yml) are only x86 for now.
|
|
macOS binaries + installer are included for both x86 and ARM64 (Apple Silicon) in the releases.
|
|
|
|
Big thank you to [@joske](https://github.com/joske) who wrote the vast majority of the implementation!
|
|
|
|
<details>
|
|
<summary>More...</summary>
|
|
|
|
##### 30 October 2021
|
|
|
|
Work on the OSX [macOS] and FreeBSD branches, both initiated and mostly worked on by [@joske](https://github.com/joske), will likely be completed in the coming weeks.
|
|
The OSX [macOS] branch has some memory leaks that needs to be sorted out and both have some issues with the processes cpu usage calculation and other smaller issues that needs fixing.
|
|
|
|
If you want to help out, test for bugs/fix bugs or just try out the branches:
|
|
|
|
**macOS / OSX**
|
|
```bash
|
|
# Install and use Homebrew or MacPorts package managers for easy dependency installation
|
|
brew install coreutils make gcc@11
|
|
git clone https://github.com/aristocratos/btop.git
|
|
cd btop
|
|
git checkout OSX
|
|
gmake
|
|
```
|
|
|
|
**FreeBSD**
|
|
```bash
|
|
sudo pkg install gmake gcc11 coreutils git
|
|
git clone https://github.com/aristocratos/btop.git
|
|
cd btop
|
|
git checkout freebsd
|
|
gmake
|
|
```
|
|
|
|
Note that GNU make (`gmake`) is recommended but not required for macOS/OSX but it is required on FreeBSD.
|
|
|
|
|
|
##### 6 October 2021
|
|
|
|
macOS development have been started by [@joske](https://github.com/joske), big thanks :)
|
|
See branch [OSX](https://github.com/aristocratos/btop/tree/OSX) for current progress.
|
|
|
|
##### 18 September 2021
|
|
|
|
The Linux version of btop++ is complete. Released as version 1.0.0
|
|
|
|
I will be providing statically compiled binaries for a range of architectures in every release for those having problems compiling.
|
|
|
|
For compilation GCC 10 is required, GCC 11 preferred.
|
|
|
|
Please report any bugs to the [Issues](https://github.com/aristocratos/btop/issues/new?assignees=aristocratos&labels=bug&template=bug_report.md&title=%5BBUG%5D) page.
|
|
|
|
The development plan right now:
|
|
|
|
* 1.1.0 macOS [OSX] support
|
|
* 1.2.0 FreeBSD support
|
|
* 1.3.0 Support for GPU monitoring
|
|
* 1.X.0 Other platforms and features...
|
|
|
|
Windows support is not in the plans as of now, but if anyone else wants to take it on, I will try to help.
|
|
|
|
##### 5 May 2021
|
|
|
|
This project is gonna take some time until it has complete feature parity with bpytop, since all system information gathering will have to be written from scratch without any external libraries.
|
|
And will need some help in the form of code contributions to get complete support for BSD and macOS/OSX.
|
|
|
|
</details>
|
|
|
|
## Documents
|
|
|
|
**[CHANGELOG.md](CHANGELOG.md)**
|
|
|
|
**[CONTRIBUTING.md](CONTRIBUTING.md)**
|
|
|
|
**[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)**
|
|
|
|
## Description
|
|
|
|
Resource monitor that shows usage and stats for processor, memory, disks, network and processes.
|
|
|
|
C++ version and continuation of [bashtop](https://github.com/aristocratos/bashtop) and [bpytop](https://github.com/aristocratos/bpytop).
|
|
|
|
## Features
|
|
|
|
* Easy to use, with a game inspired menu system.
|
|
* Full mouse support, all buttons with a highlighted key is clickable and mouse scroll works in process list and menu boxes.
|
|
* Fast and responsive UI with UP, DOWN keys process selection.
|
|
* Function for showing detailed stats for selected process.
|
|
* Ability to filter processes.
|
|
* Easy switching between sorting options.
|
|
* Tree view of processes.
|
|
* Send any signal to selected process.
|
|
* UI menu for changing all config file options.
|
|
* Auto scaling graph for network usage.
|
|
* Shows IO activity and speeds for disks.
|
|
* Battery meter
|
|
* Selectable symbols for the graphs.
|
|
* Custom presets
|
|
* And more...
|
|
|
|
## Themes
|
|
|
|
Btop++ uses the same theme files as bpytop and bashtop (some color values missing in bashtop themes) .
|
|
|
|
See [themes](https://github.com/aristocratos/btop/tree/main/themes) folder for available themes.
|
|
|
|
The `make install` command places the default themes in `[$PREFIX or /usr/local]/share/btop/themes`.
|
|
User created themes should be placed in `$XDG_CONFIG_HOME/btop/themes` or `$HOME/.config/btop/themes`.
|
|
|
|
Let me know if you want to contribute with new themes.
|
|
|
|
## Support and funding
|
|
|
|
You can sponsor this project through github, see [my sponsors page](https://github.com/sponsors/aristocratos) for options.
|
|
|
|
Or donate through [paypal](https://paypal.me/aristocratos) or [ko-fi](https://ko-fi.com/aristocratos).
|
|
|
|
Any support is greatly appreciated!
|
|
|
|
## Prerequisites
|
|
|
|
For best experience, a terminal with support for:
|
|
|
|
* 24-bit truecolor ([See list of terminals with truecolor support](https://github.com//termstandard/colors))
|
|
* 256-color terminals are supported through 24-bit to 256-color conversion when setting "truecolor" to False in the options or with "-lc/--low-color" arguments.
|
|
* 16 color TTY mode will be activated if a real tty device is detected. Can be forced with "-t/--tty_on" arguments.
|
|
* Wide characters (Are sometimes problematic in web-based terminals)
|
|
|
|
Also needs a UTF8 locale and a font that covers:
|
|
|
|
* Unicode Block “Braille Patterns” U+2800 - U+28FF (Not needed in TTY mode or with graphs set to type: block or tty.)
|
|
* Unicode Block “Geometric Shapes” U+25A0 - U+25FF
|
|
* Unicode Block "Box Drawing" and "Block Elements" U+2500 - U+259F
|
|
|
|
### **Notice (Text rendering issues)**
|
|
|
|
* If you are having problems with the characters in the graphs not looking like they do in the screenshots, it's likely a problem with your systems configured fallback font not having support for braille characters.
|
|
|
|
* See [Terminess Powerline](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Terminus/terminus-ttf-4.40.1) for an example of a font that includes the braille symbols.
|
|
|
|
* See comments by @sgleizes [link](https://github.com/aristocratos/bpytop/issues/100#issuecomment-684036827) and @XenHat [link](https://github.com/aristocratos/bpytop/issues/100#issuecomment-691585587) in issue #100 for possible solutions.
|
|
|
|
* If text are misaligned and you are using Konsole or Yakuake, turning off "Bi-Directional text rendering" is a possible fix.
|
|
|
|
* Characters clipping in to each other or text/border misalignments is not bugs caused by btop, but most likely a fontconfig or terminal problem where the braille characters making up the graphs aren't rendered correctly.
|
|
|
|
* Look to the creators of the terminal emulator you use to fix these issues if the previous mentioned fixes don't work for you.
|
|
|
|
## Screenshots
|
|
|
|
#### Main UI showing details for a selected process
|
|
|
|
![Screenshot 1](Img/normal.png)
|
|
|
|
#### Main UI in TTY mode
|
|
|
|
![Screenshot 2](Img/tty.png)
|
|
|
|
#### Main UI with custom options
|
|
|
|
![Screenshot 3](Img/alt.png)
|
|
|
|
#### Main-menu
|
|
|
|
![Screenshot 3](Img/main-menu.png)
|
|
|
|
#### Options-menu
|
|
|
|
![Screenshot 4](Img/options-menu.png)
|
|
|
|
#### Help-menu
|
|
|
|
![Screenshot 5](Img/help-menu.png)
|
|
|
|
## Installation
|
|
|
|
**Binaries for Linux are statically compiled with musl and works on kernel 2.6.39 and newer**
|
|
|
|
1. **Download btop-(VERSION)-(ARCH)-(PLATFORM).tbz from [latest release](https://github.com/aristocratos/btop/releases/latest) and unpack to a new folder**
|
|
|
|
**Notice! Use x86_64 for 64-bit x86 systems, i486 and i686 are 32-bit!**
|
|
|
|
2. **Install (from created folder)**
|
|
|
|
* **Run install.sh or:**
|
|
|
|
```bash
|
|
# use "make install PREFIX=/target/dir" to set target, default: /usr/local
|
|
# only use "sudo" when installing to a NON user owned directory
|
|
sudo make install
|
|
```
|
|
|
|
3. **(Optional) Set suid bit to make btop always run as root (or other user)**
|
|
|
|
Enables signal sending to any process without starting with `sudo` and can prevent /proc read permissions problems on some systems.
|
|
|
|
* **Run setuid.sh or:**
|
|
|
|
```bash
|
|
# run after make install and use same PREFIX if any was used at install
|
|
# set SU_USER and SU_GROUP to select user and group, default is root:root
|
|
sudo make setuid
|
|
```
|
|
|
|
* **Uninstall**
|
|
|
|
* **Run uninstall.sh or:**
|
|
|
|
```bash
|
|
sudo make uninstall
|
|
```
|
|
|
|
* **Show help**
|
|
|
|
```bash
|
|
make help
|
|
```
|
|
|
|
**Binary release (from native os repo)**
|
|
|
|
* **openSUSE**
|
|
* **Tumbleweed:**
|
|
```bash
|
|
sudo zypper in btop
|
|
```
|
|
* For all other versions, see [openSUSE Software: btop](https://software.opensuse.org/package/btop)
|
|
* **Fedora**
|
|
```bash
|
|
sudo dnf install btop
|
|
```
|
|
* **RHEL/AlmaLinux 8+**
|
|
```bash
|
|
sudo dnf install epel-release
|
|
sudo dnf install btop
|
|
```
|
|
* **FreeBSD**
|
|
```sh
|
|
pkg install btop
|
|
```
|
|
|
|
|
|
**Binary release on Homebrew (macOS (x86_64 & ARM64) / Linux (x86_64))**
|
|
|
|
* **[Homebrew](https://formulae.brew.sh/formula/btop)**
|
|
```bash
|
|
brew install btop
|
|
```
|
|
|
|
## Compilation Linux
|
|
|
|
Requires at least GCC 10 or Clang 16.
|
|
|
|
The makefile also needs GNU coreutils and `sed` (should already be installed on any modern distribution).
|
|
|
|
### GPU compatibility
|
|
|
|
Btop++ supports NVIDIA and AMD GPUs out of the box on Linux x86_64, provided you have the correct drivers and libraries.
|
|
|
|
Compatibility with Intel GPUs using generic DRM calls is planned, as is compatibility for FreeBSD and macOS.
|
|
|
|
Gpu support will not work when static linking glibc (or musl, etc.)!
|
|
|
|
For x86_64 Linux the flag `GPU_SUPPORT` is automatically set to `true`, to manually disable gpu support set the flag to false, like:
|
|
|
|
`make GPU_SUPPORT=false` (or `cmake -DBTOP_GPU=false` with CMake)
|
|
|
|
* **NVIDIA**
|
|
|
|
You must use an official NVIDIA driver, both the closed-source and [open-source](https://github.com/NVIDIA/open-gpu-kernel-modules) ones have been verified to work.
|
|
|
|
In addition to that you must also have the `nvidia-ml` dynamic library installed, which should be included with the driver package of your distribution.
|
|
|
|
* **AMD**
|
|
|
|
AMDGPU data is queried using the [ROCm SMI](https://github.com/RadeonOpenCompute/rocm_smi_lib) library, which may or may not be packaged for your distribution. If your distribution doesn't provide a package, btop++ is statically linked to ROCm SMI with the `RSMI_STATIC=true` make flag.
|
|
|
|
This flag expects the ROCm SMI source code in `lib/rocm_smi_lib`, and compilation will fail if it's not there. The latest tested version is 5.6.x, which can be obtained with the following command:
|
|
|
|
```bash
|
|
git clone https://github.com/RadeonOpenCompute/rocm_smi_lib.git --depth 1 -b rocm-5.6.x lib/rocm_smi_lib
|
|
```
|
|
|
|
<details>
|
|
<summary>
|
|
|
|
### With Make
|
|
</summary>
|
|
|
|
1. **Install dependencies (example for Ubuntu 21.04 Hirsute)**
|
|
|
|
```bash
|
|
sudo apt install coreutils sed git build-essential gcc-11 g++-11
|
|
```
|
|
|
|
2. **Clone repository**
|
|
|
|
```bash
|
|
git clone https://github.com/aristocratos/btop.git
|
|
cd btop
|
|
```
|
|
|
|
3. **Compile**
|
|
|
|
```bash
|
|
make
|
|
```
|
|
|
|
Options for make:
|
|
|
|
| Flag | Description |
|
|
|---------------------------------|-------------------------------------------------------------------------|
|
|
| `VERBOSE=true` | To display full compiler/linker commands |
|
|
| `STATIC=true` | For static compilation |
|
|
| `QUIET=true` | For less verbose output |
|
|
| `STRIP=true` | To force stripping of debug symbols (adds `-s` linker flag) |
|
|
| `DEBUG=true` | Sets OPTFLAGS to `-O0 -g` and enables more verbose debug logging |
|
|
| `ARCH=<architecture>` | To manually set the target architecture |
|
|
| `GPU_SUPPORT=<true\|false>` | Enable/disable GPU support (Enabled by default on X86_64 Linux) |
|
|
| `RSMI_STATIC=true` | To statically link the ROCm SMI library used for querying AMDGPU |
|
|
| `ADDFLAGS=<flags>` | For appending flags to both compiler and linker |
|
|
| `CXX=<compiler>` | Manualy set which compiler to use |
|
|
|
|
Example: `make ADDFLAGS=-march=native` might give a performance boost if compiling only for your own system.
|
|
|
|
Notice! If using LDAP Authentication, usernames will show as UID number for LDAP users if compiling statically with glibc.
|
|
|
|
4. **Install**
|
|
|
|
```bash
|
|
sudo make install
|
|
```
|
|
|
|
Append `PREFIX=/target/dir` to set target, default: `/usr/local`
|
|
|
|
Notice! Only use "sudo" when installing to a NON user owned directory.
|
|
|
|
5. **(Optional) Set suid bit to make btop always run as root (or other user)**
|
|
|
|
```bash
|
|
sudo make setuid
|
|
```
|
|
|
|
No need for `sudo` to enable signal sending to any process and to prevent /proc read permissions problems on some systems.
|
|
|
|
Run after make install and use same PREFIX if any was used at install.
|
|
|
|
Set `SU_USER` and `SU_GROUP` to select user and group, default is `root` and `root`
|
|
|
|
* **Uninstall**
|
|
|
|
```bash
|
|
sudo make uninstall
|
|
```
|
|
|
|
* **Remove any object files from source dir**
|
|
|
|
```bash
|
|
make clean
|
|
```
|
|
|
|
* **Remove all object files, binaries and created directories in source dir**
|
|
|
|
```bash
|
|
make distclean
|
|
```
|
|
|
|
* **Show help**
|
|
|
|
```bash
|
|
make help
|
|
```
|
|
|
|
</details>
|
|
<details>
|
|
<summary>
|
|
|
|
### With CMake (Community maintained)
|
|
</summary>
|
|
|
|
1. **Install build dependencies**
|
|
|
|
Requires Clang / GCC, CMake, Ninja and Git
|
|
|
|
For example, with Debian Bookworm:
|
|
|
|
```bash
|
|
sudo apt install cmake git g++ ninja-build
|
|
```
|
|
|
|
2. **Clone the repository**
|
|
|
|
```bash
|
|
git clone https://github.com/aristocratos/btop.git && cd btop
|
|
``````
|
|
|
|
3. **Compile**
|
|
|
|
```bash
|
|
# Configure
|
|
cmake -B build -G Ninja
|
|
# Build
|
|
cmake --build build
|
|
```
|
|
|
|
This will automatically build a release version of btop.
|
|
|
|
Some useful options to pass to the configure step:
|
|
|
|
| Configure flag | Description |
|
|
|---------------------------------|-------------------------------------------------------------------------|
|
|
| `-DBTOP_STATIC=<ON\|OFF>` | Enables static linking (OFF by default) |
|
|
| `-DBTOP_LTO=<ON\|OFF>` | Enables link time optimization (ON by default) |
|
|
| `-DBTOP_USE_MOLD=<ON\|OFF>` | Use mold to link btop (OFF by default) |
|
|
| `-DBTOP_PEDANTIC=<ON\|OFF>` | Compile with additional warnings (OFF by default) |
|
|
| `-DBTOP_WERROR=<ON\|OFF>` | Compile with warnings as errors (OFF by default) |
|
|
| `-DBTOP_GPU=<ON\|OFF>` | Enable GPU support (ON by default) |
|
|
| `-DBTOP_RSMI_STATIC=<ON\|OFF>` | Build and link the ROCm SMI library statically (OFF by default) |
|
|
| `-DCMAKE_INSTALL_PREFIX=<path>` | The installation prefix ('/usr/local' by default) |
|
|
|
|
To force any other compiler, run `CXX=<compiler> cmake -B build -G Ninja`
|
|
|
|
4. **Install**
|
|
|
|
```bash
|
|
cmake --install build
|
|
```
|
|
|
|
May require root privileges
|
|
|
|
5. **Uninstall**
|
|
|
|
CMake doesn't generate an uninstall target by default. To remove installed files, run
|
|
```
|
|
cat build/install_manifest.txt | xargs rm -irv
|
|
```
|
|
|
|
6. **Cleanup build directory**
|
|
|
|
```bash
|
|
cmake --build build -t clean
|
|
```
|
|
|
|
</details>
|
|
|
|
## Compilation macOS OSX
|
|
|
|
Requires at least GCC 10 or Clang 16.
|
|
|
|
With GCC, version 12 (or better) is needed for macOS Ventura. If you get linker errors on Ventura you'll need to upgrade your command line tools (Version 14.0) is bugged.
|
|
|
|
The makefile also needs GNU coreutils and `sed`.
|
|
|
|
Install and use Homebrew or MacPorts package managers for easy dependency installation
|
|
|
|
<details>
|
|
<summary>
|
|
|
|
### With Make
|
|
</summary>
|
|
|
|
1. **Install dependencies (example for Homebrew)**
|
|
|
|
```bash
|
|
brew install coreutils make gcc@12
|
|
```
|
|
|
|
2. **Clone repository**
|
|
|
|
```bash
|
|
git clone https://github.com/aristocratos/btop.git
|
|
cd btop
|
|
```
|
|
3. **Compile**
|
|
|
|
```bash
|
|
gmake
|
|
```
|
|
|
|
Options for make:
|
|
|
|
| Flag | Description |
|
|
|---------------------------------|-------------------------------------------------------------------------|
|
|
| `VERBOSE=true` | To display full compiler/linker commands |
|
|
| `STATIC=true` | For static compilation (only libgcc and libstdc++) |
|
|
| `QUIET=true` | For less verbose output |
|
|
| `STRIP=true` | To force stripping of debug symbols (adds `-s` linker flag) |
|
|
| `DEBUG=true` | Sets OPTFLAGS to `-O0 -g` and enables more verbose debug logging |
|
|
| `ARCH=<architecture>` | To manually set the target architecture |
|
|
| `ADDFLAGS=<flags>` | For appending flags to both compiler and linker |
|
|
| `CXX=<compiler>` | Manualy set which compiler to use |
|
|
|
|
Example: `gmake ADDFLAGS=-march=native` might give a performance boost if compiling only for your own system.
|
|
|
|
4. **Install**
|
|
|
|
```bash
|
|
sudo gmake install
|
|
```
|
|
|
|
Append `PREFIX=/target/dir` to set target, default: `/usr/local`
|
|
|
|
Notice! Only use "sudo" when installing to a NON user owned directory.
|
|
|
|
5. **(Recommended) Set suid bit to make btop always run as root (or other user)**
|
|
|
|
```bash
|
|
sudo gmake setuid
|
|
```
|
|
|
|
No need for `sudo` to see information for non user owned processes and to enable signal sending to any process.
|
|
|
|
Run after make install and use same PREFIX if any was used at install.
|
|
|
|
Set `SU_USER` and `SU_GROUP` to select user and group, default is `root` and `wheel`
|
|
|
|
* **Uninstall**
|
|
|
|
```bash
|
|
sudo gmake uninstall
|
|
```
|
|
|
|
* **Remove any object files from source dir**
|
|
|
|
```bash
|
|
gmake clean
|
|
```
|
|
|
|
* **Remove all object files, binaries and created directories in source dir**
|
|
|
|
```bash
|
|
gmake distclean
|
|
```
|
|
|
|
* **Show help**
|
|
|
|
```bash
|
|
gmake help
|
|
```
|
|
|
|
</details>
|
|
<details>
|
|
<summary>
|
|
|
|
### With CMake (Community maintained)
|
|
</summary>
|
|
|
|
1. **Install build dependencies**
|
|
|
|
Requires Clang, CMake, Ninja and Git
|
|
|
|
```bash
|
|
brew update --quiet
|
|
brew install cmake git llvm ninja
|
|
```
|
|
|
|
2. **Clone the repository**
|
|
|
|
```bash
|
|
git clone https://github.com/aristocratos/btop.git && cd btop
|
|
```
|
|
|
|
3. **Compile**
|
|
|
|
```bash
|
|
# Configure
|
|
export LLVM_PREFIX="$(brew --prefix llvm)"
|
|
export CXX="$LLVM_PREFIX/bin/clang++"
|
|
export CPPFLAGS="-I$LLVM_PREFIX/include"
|
|
export LDFLAGS="-L$LLVM_PREFIX/lib -L$LLVM_PREFIX/lib/c++ -Wl,-rpath,$LLVM_PREFIX/lib/c++ -fuse-ld=$LLVM_PREFIX/bin/ld64.lld"
|
|
cmake -B build -G Ninja
|
|
# Build
|
|
cmake --build build
|
|
```
|
|
|
|
_**Note:** btop uses lots of C++ 20 features, so it's necessary to be specific about the compiler and the standard library. If you get a compile with Apple-Clang or GCC, feel free to add the instructions here._
|
|
|
|
This will automatically build a release version of btop.
|
|
|
|
Some useful options to pass to the configure step:
|
|
|
|
| Configure flag | Description |
|
|
|---------------------------------|-------------------------------------------------------------------------|
|
|
| `-DBTOP_LTO=<ON\|OFF>` | Enables link time optimization (ON by default) |
|
|
| `-DBTOP_USE_MOLD=<ON\|OFF>` | Use mold to link btop (OFF by default) |
|
|
| `-DBTOP_PEDANTIC=<ON\|OFF>` | Compile with additional warnings (OFF by default) |
|
|
| `-DBTOP_WERROR=<ON\|OFF>` | Compile with warnings as errors (OFF by default) |
|
|
| `-DCMAKE_INSTALL_PREFIX=<path>` | The installation prefix ('/usr/local' by default) |
|
|
|
|
To force any specific compiler, run `CXX=<compiler> cmake -B build -G Ninja`
|
|
|
|
4. **Install**
|
|
|
|
```bash
|
|
cmake --install build
|
|
```
|
|
|
|
May require root privileges
|
|
|
|
5. **Uninstall**
|
|
|
|
CMake doesn't generate an uninstall target by default. To remove installed files, run
|
|
```
|
|
cat build/install_manifest.txt | xargs rm -irv
|
|
```
|
|
|
|
6. **Cleanup build directory**
|
|
|
|
```bash
|
|
cmake --build build -t clean
|
|
```
|
|
|
|
</details>
|
|
|
|
## Compilation FreeBSD
|
|
|
|
Requires at least GCC 10 or Clang 16.
|
|
|
|
Note that GNU make (`gmake`) is required to compile on FreeBSD.
|
|
|
|
<details>
|
|
<summary>
|
|
|
|
### With gmake
|
|
</summary>
|
|
|
|
1. **Install dependencies**
|
|
|
|
```bash
|
|
sudo pkg install gmake gcc11 coreutils git
|
|
```
|
|
|
|
2. **Clone repository**
|
|
|
|
```bash
|
|
git clone https://github.com/aristocratos/btop.git
|
|
cd btop
|
|
```
|
|
|
|
3. **Compile**
|
|
|
|
```bash
|
|
gmake
|
|
```
|
|
|
|
Options for make:
|
|
|
|
| Flag | Description |
|
|
|---------------------------------|-------------------------------------------------------------------------|
|
|
| `VERBOSE=true` | To display full compiler/linker commands |
|
|
| `STATIC=true` | For static compilation (only libgcc and libstdc++) |
|
|
| `QUIET=true` | For less verbose output |
|
|
| `STRIP=true` | To force stripping of debug symbols (adds `-s` linker flag) |
|
|
| `DEBUG=true` | Sets OPTFLAGS to `-O0 -g` and enables more verbose debug logging |
|
|
| `ARCH=<architecture>` | To manually set the target architecture |
|
|
| `ADDFLAGS=<flags>` | For appending flags to both compiler and linker |
|
|
| `CXX=<compiler>` | Manualy set which compiler to use |
|
|
|
|
Example: `gmake ADDFLAGS=-march=native` might give a performance boost if compiling only for your own system.
|
|
|
|
4. **Install**
|
|
|
|
```bash
|
|
sudo gmake install
|
|
```
|
|
|
|
Append `PREFIX=/target/dir` to set target, default: `/usr/local`
|
|
|
|
Notice! Only use "sudo" when installing to a NON user owned directory.
|
|
|
|
5. **(Recommended) Set suid bit to make btop always run as root (or other user)**
|
|
|
|
```bash
|
|
sudo gmake setuid
|
|
```
|
|
|
|
No need for `sudo` to see information for non user owned processes and to enable signal sending to any process.
|
|
|
|
Run after make install and use same PREFIX if any was used at install.
|
|
|
|
Set `SU_USER` and `SU_GROUP` to select user and group, default is `root` and `wheel`
|
|
|
|
* **Uninstall**
|
|
|
|
```bash
|
|
sudo gmake uninstall
|
|
```
|
|
|
|
* **Remove any object files from source dir**
|
|
|
|
```bash
|
|
gmake clean
|
|
```
|
|
|
|
* **Remove all object files, binaries and created directories in source dir**
|
|
|
|
```bash
|
|
gmake distclean
|
|
```
|
|
|
|
* **Show help**
|
|
|
|
```bash
|
|
gmake help
|
|
```
|
|
|
|
</details>
|
|
<details>
|
|
<summary>
|
|
|
|
### With CMake (Community maintained)
|
|
</summary>
|
|
|
|
1. **Install build dependencies**
|
|
|
|
Requires Clang / GCC, CMake, Ninja and Git
|
|
|
|
_**Note:** LLVM's libc++ shipped with FreeBSD 13 is too old and cannot compile btop._
|
|
|
|
FreeBSD 14 and later:
|
|
```bash
|
|
pkg install cmake ninja
|
|
```
|
|
|
|
FreeBSD 13:
|
|
```bash
|
|
pkg install cmake gcc13 ninja
|
|
```
|
|
|
|
2. **Clone the repository**
|
|
|
|
```bash
|
|
git clone https://github.com/aristocratos/btop.git && cd btop
|
|
```
|
|
|
|
3. **Compile**
|
|
|
|
FreeBSD 14 and later:
|
|
```bash
|
|
# Configure
|
|
cmake -B build -G Ninja
|
|
# Build
|
|
cmake --build build
|
|
```
|
|
|
|
FreeBSD 13:
|
|
```bash
|
|
# Configure
|
|
CXX=g++13 cmake -B build -G Ninja
|
|
# Build
|
|
cmake --build build
|
|
```
|
|
|
|
This will automatically build a release version of btop.
|
|
|
|
Some useful options to pass to the configure step:
|
|
|
|
| Configure flag | Description |
|
|
|---------------------------------|-------------------------------------------------------------------------|
|
|
| `-DBTOP_STATIC=<ON\|OFF>` | Enables static linking (OFF by default) |
|
|
| `-DBTOP_LTO=<ON\|OFF>` | Enables link time optimization (ON by default) |
|
|
| `-DBTOP_USE_MOLD=<ON\|OFF>` | Use mold to link btop (OFF by default) |
|
|
| `-DBTOP_PEDANTIC=<ON\|OFF>` | Compile with additional warnings (OFF by default) |
|
|
| `-DBTOP_WERROR=<ON\|OFF>` | Compile with warnings as errors (OFF by default) |
|
|
| `-DCMAKE_INSTALL_PREFIX=<path>` | The installation prefix ('/usr/local' by default) |
|
|
|
|
_**Note:** Static linking does not work with GCC._
|
|
|
|
To force any other compiler, run `CXX=<compiler> cmake -B build -G Ninja`
|
|
|
|
4. **Install**
|
|
|
|
```bash
|
|
cmake --install build
|
|
```
|
|
|
|
May require root privileges
|
|
|
|
5. **Uninstall**
|
|
|
|
CMake doesn't generate an uninstall target by default. To remove installed files, run
|
|
```
|
|
cat build/install_manifest.txt | xargs rm -irv
|
|
```
|
|
|
|
6. **Cleanup build directory**
|
|
|
|
```bash
|
|
cmake --build build -t clean
|
|
```
|
|
|
|
</details>
|
|
|
|
## Installing the snap
|
|
[![btop](https://snapcraft.io/btop/badge.svg)](https://snapcraft.io/btop)
|
|
|
|
### Note: there are now two snaps available: `btop` and `btop-desktop`. The desktop version is much larger and includes the desktop entries needed to allow for launching `btop` with a click.
|
|
|
|
* **Install the snap**
|
|
|
|
```bash
|
|
sudo snap install btop
|
|
or
|
|
sudo snap install btop-desktop
|
|
```
|
|
* **Install the latest snap from the edge channel**
|
|
```
|
|
sudo snap install btop --edge
|
|
or
|
|
sudo snap install btop-desktop --edge
|
|
```
|
|
|
|
* **Connect the interface**
|
|
|
|
```bash
|
|
sudo snap connect btop:removable-media
|
|
or
|
|
sudo snap connect btop-desktop:removable-media
|
|
```
|
|
|
|
|
|
## Configurability
|
|
|
|
All options changeable from within UI.
|
|
Config and log files stored in `$XDG_CONFIG_HOME/btop` or `$HOME/.config/btop` folder
|
|
|
|
#### btop.conf: (auto generated if not found)
|
|
|
|
```bash
|
|
#? Config file for btop v. 1.2.2
|
|
|
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
|
color_theme = "Default"
|
|
|
|
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
|
theme_background = True
|
|
|
|
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
|
truecolor = True
|
|
|
|
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
|
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
|
force_tty = False
|
|
|
|
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
|
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
|
#* Use whitespace " " as separator between different presets.
|
|
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
|
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
|
|
|
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
|
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
|
vim_keys = False
|
|
|
|
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
|
rounded_corners = True
|
|
|
|
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
|
#* "braille" offers the highest resolution but might not be included in all fonts.
|
|
#* "block" has half the resolution of braille but uses more common characters.
|
|
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
|
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
|
graph_symbol = "braille"
|
|
|
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
graph_symbol_cpu = "default"
|
|
|
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
graph_symbol_mem = "default"
|
|
|
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
graph_symbol_net = "default"
|
|
|
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
graph_symbol_proc = "default"
|
|
|
|
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
|
shown_boxes = "proc cpu mem net"
|
|
|
|
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
|
update_ms = 1500
|
|
|
|
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu responsive",
|
|
#* "cpu lazy" sorts top process over time (easier to follow), "cpu responsive" updates top process directly.
|
|
proc_sorting = "cpu lazy"
|
|
|
|
#* Reverse sorting order, True or False.
|
|
proc_reversed = False
|
|
|
|
#* Show processes as a tree.
|
|
proc_tree = False
|
|
|
|
#* Use the cpu graph colors in the process list.
|
|
proc_colors = True
|
|
|
|
#* Use a darkening gradient in the process list.
|
|
proc_gradient = True
|
|
|
|
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
|
proc_per_core = True
|
|
|
|
#* Show process memory as bytes instead of percent.
|
|
proc_mem_bytes = True
|
|
|
|
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
|
proc_info_smaps = False
|
|
|
|
#* Show proc box on left side of screen instead of right.
|
|
proc_left = False
|
|
|
|
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
|
#* Select from a list of detected attributes from the options menu.
|
|
cpu_graph_upper = "total"
|
|
|
|
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
|
#* Select from a list of detected attributes from the options menu.
|
|
cpu_graph_lower = "total"
|
|
|
|
#* Toggles if the lower CPU graph should be inverted.
|
|
cpu_invert_lower = True
|
|
|
|
#* Set to True to completely disable the lower CPU graph.
|
|
cpu_single_graph = False
|
|
|
|
#* Show cpu box at bottom of screen instead of top.
|
|
cpu_bottom = False
|
|
|
|
#* Shows the system uptime in the CPU box.
|
|
show_uptime = True
|
|
|
|
#* Show cpu temperature.
|
|
check_temp = True
|
|
|
|
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
|
cpu_sensor = "Auto"
|
|
|
|
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
|
show_coretemp = True
|
|
|
|
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
|
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
|
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
|
#* Example: "4:0 5:1 6:3"
|
|
cpu_core_map = ""
|
|
|
|
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
|
temp_scale = "celsius"
|
|
|
|
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
|
base_10_sizes = False
|
|
|
|
#* Show CPU frequency.
|
|
show_cpu_freq = True
|
|
|
|
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
|
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
|
clock_format = "%H:%M"
|
|
|
|
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
|
background_update = True
|
|
|
|
#* Custom cpu model name, empty string to disable.
|
|
custom_cpu_name = ""
|
|
|
|
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
|
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
|
|
disks_filter = "exclude=/boot"
|
|
|
|
#* Show graphs instead of meters for memory values.
|
|
mem_graphs = True
|
|
|
|
#* Show mem box below net box instead of above.
|
|
mem_below_net = False
|
|
|
|
#* Count ZFS ARC in cached and available memory.
|
|
zfs_arc_cached = True
|
|
|
|
#* If swap memory should be shown in memory box.
|
|
show_swap = True
|
|
|
|
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
|
swap_disk = True
|
|
|
|
#* If mem box should be split to also show disks info.
|
|
show_disks = True
|
|
|
|
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
|
only_physical = True
|
|
|
|
#* Read disks list from /etc/fstab. This also disables only_physical.
|
|
use_fstab = False
|
|
|
|
#* Set to true to show available disk space for privileged users.
|
|
disk_free_priv = False
|
|
|
|
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
|
show_io_stat = True
|
|
|
|
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
|
io_mode = False
|
|
|
|
#* Set to True to show combined read/write io graphs in io mode.
|
|
io_graph_combined = False
|
|
|
|
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
|
#* Example: "/mnt/media:100 /:20 /boot:1".
|
|
io_graph_speeds = ""
|
|
|
|
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
|
net_download = 100
|
|
|
|
net_upload = 100
|
|
|
|
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
|
net_auto = True
|
|
|
|
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
|
net_sync = False
|
|
|
|
#* Starts with the Network Interface specified here.
|
|
net_iface = "br0"
|
|
|
|
#* Show battery stats in top right if battery is present.
|
|
show_battery = True
|
|
|
|
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
|
selected_battery = "Auto"
|
|
|
|
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
|
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
|
log_level = "DEBUG"
|
|
```
|
|
|
|
#### Command line options
|
|
|
|
```text
|
|
usage: btop [-h] [-v] [-/+t] [-p <id>] [--utf-force] [--debug]
|
|
|
|
optional arguments:
|
|
-h, --help show this help message and exit
|
|
-v, --version show version info and exit
|
|
-lc, --low-color disable truecolor, converts 24-bit colors to 256-color
|
|
-t, --tty_on force (ON) tty mode, max 16 colors and tty friendly graph symbols
|
|
+t, --tty_off force (OFF) tty mode
|
|
-p, --preset <id> start with preset, integer value between 0-9
|
|
--utf-force force start even if no UTF-8 locale was detected
|
|
--debug start in DEBUG mode: shows microsecond timer for information collect
|
|
and screen draw functions and sets loglevel to DEBUG
|
|
```
|
|
|
|
## LICENSE
|
|
|
|
[Apache License 2.0](LICENSE)
|