Go to file
aristocratos 934a9e3cf2 Squashed commit of the following:
commit 285fb215d1
Author: aristocratos <gnmjpl@gmail.com>
Date:   Thu Dec 28 13:10:18 2023 +0100

    Proc::draw() -> Use std::erase_if() instead of for loops

commit 2fba934cde
Author: aristocratos <gnmjpl@gmail.com>
Date:   Wed Dec 27 00:54:28 2023 +0100

    Fixed leftover code in GPU init logging false errors

commit ad14554f32
Author: aristocratos <gnmjpl@gmail.com>
Date:   Tue Dec 26 19:32:43 2023 +0100

    Try alternative names for GPU libraries during GPU init

commit a8fda16bf6
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

commit 2796af3f37
Author: aristocratos <gnmjpl@gmail.com>
Date:   Tue Dec 26 19:18:37 2023 +0100

    Document DEBUG flag for Makefile

commit f484326bf2
Merge: b4eb397 e15e0b7
Author: aristocratos <gnmjpl@gmail.com>
Date:   Tue Dec 26 19:11:26 2023 +0100

    Merge branch 'main' into map_safety

commit b4eb397fc6
Author: aristocratos <gnmjpl@gmail.com>
Date:   Mon Dec 25 10:52:52 2023 +0100

    Fix errors

commit 3c04a7a380
Author: aristocratos <gnmjpl@gmail.com>
Date:   Mon Dec 25 10:41:15 2023 +0100

    Added more checks and debug logging

commit 8b81c4a4ec
Author: aristocratos <gnmjpl@gmail.com>
Date:   Mon Dec 25 03:28:35 2023 +0100

    Return const refs

commit f836233b64
Author: aristocratos <gnmjpl@gmail.com>
Date:   Mon Dec 25 02:49:24 2023 +0100

    Remove robin_hood.h

commit 3a8ceacaf8
Author: aristocratos <gnmjpl@gmail.com>
Date:   Mon Dec 25 02:37:32 2023 +0100

    Fix call to compact and missing utility include

commit e15e0b7188
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 commit 6c87ab6196.

commit ced47a960f
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

commit 6c87ab6196
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

commit a2325371d4
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

commit b598f02468
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

commit aab2e8cc55
Author: Jakob P. Liljenberg <admin@qvantnet.com>
Date:   Sun Dec 17 12:03:47 2023 +0100

    Fixed test-snap-can-build.yml

commit b1fe3779e1
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

commit 2d15c41555
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

commit 2d3e453ed5
Merge: 0a38864 fe699b4
Author: kz6fittycent <jimmy.tigert@gmail.com>
Date:   Fri Dec 15 12:02:11 2023 -0600

    Merge branch 'main' into main

commit 0a388647cc
Author: kz6fittycent <jimmy.tigert@gmail.com>
Date:   Fri Dec 15 12:01:45 2023 -0600

    Update test-snap-can-build.yml

    whoops

commit 49f425f356
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

commit 780524267f
Author: Jos Dehaes <jos.dehaes@gmail.com>
Date:   Fri Dec 15 09:02:57 2023 +0100

    conditional compile on Big Sur and up

commit fe699b4333
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

commit 2d2df23198
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

commit d7b581eda4
Author: aristocratos <gnmjpl@gmail.com>
Date:   Tue Dec 12 23:17:36 2023 +0100

    Updated changes

commit b71538eabe
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

commit 730af5d4e1
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

commit a017056ea0
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

commit e770cccaf8
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

commit 0246b1b971
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

commit 6282f36f8f
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

commit be731600f1
Merge: f4b14ce cfd20a3
Author: Jakob P. Liljenberg <admin@qvantnet.com>
Date:   Tue Dec 12 22:01:21 2023 +0100

    Merge branch 'main' into cmake

commit 450b59b657
Merge: 875f08b cfd20a3
Author: Jakob P. Liljenberg <admin@qvantnet.com>
Date:   Tue Dec 12 21:55:27 2023 +0100

    Merge branch 'main' into main

commit cfd20a374b
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

commit b6a86962e2
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

commit 14e664e756
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

commit 875f08ba5e
Author: kz6fittycent <jimmy.tigert@gmail.com>
Date:   Tue Dec 12 14:27:16 2023 -0600

    Update snapcraft.yaml - opengl

    - Testing opengl plug

commit 3ee4b18e57
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

commit 2973a76f2b
Merge: fb782a2 0d35746
Author: kz6fittycent <jimmy.tigert@gmail.com>
Date:   Tue Dec 12 14:06:44 2023 -0600

    Merge branch 'aristocratos:main' into main

commit fb782a2ab3
Author: kz6fittycent <jimmy.tigert@gmail.com>
Date:   Tue Dec 12 14:02:27 2023 -0600

    Create test-snap-can-build.yml

commit 5902484f39
Author: masiboss <32394683+masiboss@users.noreply.github.com>
Date:   Thu Dec 7 21:42:11 2023 +0100

    simplify removal of "Apple"

commit 5beb9e12e5
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

commit 1b2f11b412
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

commit bcf4ad8ab6
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

commit aeefcacbc9
Author: masiboss <32394683+masiboss@users.noreply.github.com>
Date:   Thu Dec 7 19:34:11 2023 +0100

    fix cpu version not included

commit 23698940df
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

commit 8096433736
Author: Steffen Winter <steffen.winter@proton.me>
Date:   Tue Dec 5 02:34:24 2023 +0100

    Fix printed model name for older Intel CPU

commit f4b14ce97e
Author: Steffen Winter <steffen.winter@proton.me>
Date:   Tue Dec 5 01:00:14 2023 +0100

    Add CMake compile instructions for macOS

commit 97b35d9720
Author: Steffen Winter <steffen.winter@proton.me>
Date:   Sat Dec 2 00:35:13 2023 +0100

    Add cmake workflow for all platforms

commit e35538fa29
Author: Steffen Winter <steffen.winter@proton.me>
Date:   Sat Dec 2 00:34:32 2023 +0100

    Patch RPATH on FreeBSD, support OSX and format

commit 0d357468b5
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

commit 00f58b6228
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

commit ebc46ca12c
Author: Jakob P. Liljenberg <admin@qvantnet.com>
Date:   Mon Nov 27 18:21:42 2023 +0100

    Clean up compile instructions

commit d1384c9341
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

commit 6f12e3555d
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

commit 0585bc9cfb
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

commit 831be262b0
Author: Steffen Winter <steffen.winter@proton.me>
Date:   Mon Nov 27 00:29:14 2023 +0100

    Remove ROCm object files with `make clean/distclean`

commit 2f59e61d87
Author: Steffen Winter <steffen.winter@proton.me>
Date:   Sun Nov 26 22:56:58 2023 +0100

    Add GPU options for cmake based builds

commit 7588d96dd4
Author: Steffen Winter <steffen.winter@proton.me>
Date:   Sun Nov 26 21:40:29 2023 +0100

    Add check for <ranges> header

commit ebbb769a6a
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

commit ed0fa34a9d
Author: Steffen Winter <steffen.winter@proton.me>
Date:   Sun Nov 26 19:39:29 2023 +0100

    Bump required CMake version

commit 2b0cc37632
Author: Jakob P. Liljenberg <admin@qvantnet.com>
Date:   Sat Nov 25 23:11:54 2023 +0100

    Update compile instructions for Gpu support

commit 359c67136b
Author: aristocratos <gnmjpl@gmail.com>
Date:   Sat Nov 25 22:49:26 2023 +0100

    Update changelog

commit 5b01235315
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

commit 0bb8599a96
Merge: 94d4502 0267eba
Author: Jakob P. Liljenberg <admin@qvantnet.com>
Date:   Sat Nov 25 21:51:09 2023 +0100

    Merge branch 'main' into main

commit 94d4502901
Author: aristocratos <gnmjpl@gmail.com>
Date:   Sat Nov 25 21:48:50 2023 +0100

    Readme update and Makfile fixes.

commit 19bcff894b
Author: aristocratos <gnmjpl@gmail.com>
Date:   Sat Nov 25 21:01:11 2023 +0100

    Squashed commit of the following:

    commit 0267eba2bb
    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

    commit 50bbab0512
    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

    commit 5a14c7b6fa
    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

    commit 979506f18e
    Author: Dennis Mayr <dmayr.dev@gmail.com>
    Date:   Wed Nov 8 11:17:47 2023 -0300

        Elementarish theme: color update according to Elementary palette

    commit 71eb4142e8
    Author: Dennis Mayr <dmayr.dev@gmail.com>
    Date:   Wed Nov 8 11:17:47 2023 -0300

        Elementarish theme: color update according to Elementary palette

    commit e81cf2b7ff
    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

    commit f9452ff6d5
    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.

    commit 9edbf27f1b
    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

    commit ff1f51ccbb
    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.

    commit 2a864f6f2e
    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.

    commit b2bf8ef504
    Author: DecklynKern <DecklynKern@gmail.com>
    Date:   Fri Oct 6 17:33:38 2023 -0600

        Fix scrollbar not clearing sometimes.

    commit 636eb25f5e
    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

    commit b5ba2fc963
    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

    commit 260c0f6623
    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

    commit e6a06eb729
    Author: lvxnull <86745229+lvxnull@users.noreply.github.com>
    Date:   Thu Sep 28 19:44:47 2023 +0200

        Add hpp files to .editorconfig

    commit 52bfff7ceb
    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

    commit 19dbbe1a17
    Author: nobounce <steffen.winter@proton.me>
    Date:   Fri Sep 29 12:20:59 2023 +0200

        Minor string initialization improvement

    commit 1f72e56c7d
    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.

    commit cdcf8bc929
    Author: crestfalln <guptahiman01@gmail.com>
    Date:   Fri Sep 29 09:07:27 2023 +0530

        fixed bug where updated disks stats overrided disk io data

    commit 9b4e85f08d
    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

    commit 889623874e
    Author: crestfalln <no-reply@crestfalln.com>
    Date:   Wed Sep 27 23:57:06 2023 +0530

        made disks stat logic async

    commit 278a0e6b17
    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

    commit e89519fbb2
    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

    commit d16adc9fd0
    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

    commit f34b40892f
    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

    commit 6027cedd42
    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

    commit 2c3ac4855d
    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

    commit f90dc37c26
    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

    commit 5c6a281002
    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

    commit 68a49c10a6
    Author: SidVeld <sidveld@gmail.com>
    Date:   Wed Sep 6 18:03:31 2023 +0300

        Add horizon theme

    commit 0cac861910
    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

    commit f798acdaf7
    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")

    commit 31be4362ce
    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++

    commit fc523fd1d0
    Author: aristocratos <gnmjpl@gmail.com>
    Date:   Sun Aug 27 01:36:26 2023 +0200

        Fix for FreeBSD github action not failing "correctly"...

commit b87772611c
Author: aristocratos <gnmjpl@gmail.com>
Date:   Sat Nov 25 20:44:45 2023 +0100

    Added definition GPU_SUPPORT to toggle GPU related code

commit 0267eba2bb
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

commit 50bbab0512
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

commit 5a14c7b6fa
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

commit 979506f18e
Author: Dennis Mayr <dmayr.dev@gmail.com>
Date:   Wed Nov 8 11:17:47 2023 -0300

    Elementarish theme: color update according to Elementary palette

commit 71eb4142e8
Author: Dennis Mayr <dmayr.dev@gmail.com>
Date:   Wed Nov 8 11:17:47 2023 -0300

    Elementarish theme: color update according to Elementary palette

commit e81cf2b7ff
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

commit f9452ff6d5
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.

commit 9edbf27f1b
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

commit ff1f51ccbb
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.

commit 2a864f6f2e
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.

commit b2bf8ef504
Author: DecklynKern <DecklynKern@gmail.com>
Date:   Fri Oct 6 17:33:38 2023 -0600

    Fix scrollbar not clearing sometimes.

commit 636eb25f5e
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

commit b5ba2fc963
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

commit 260c0f6623
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

commit e6a06eb729
Author: lvxnull <86745229+lvxnull@users.noreply.github.com>
Date:   Thu Sep 28 19:44:47 2023 +0200

    Add hpp files to .editorconfig

commit 52bfff7ceb
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

commit 19dbbe1a17
Author: nobounce <steffen.winter@proton.me>
Date:   Fri Sep 29 12:20:59 2023 +0200

    Minor string initialization improvement

commit 1f72e56c7d
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.

commit cdcf8bc929
Author: crestfalln <guptahiman01@gmail.com>
Date:   Fri Sep 29 09:07:27 2023 +0530

    fixed bug where updated disks stats overrided disk io data

commit 9b4e85f08d
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

commit 889623874e
Author: crestfalln <no-reply@crestfalln.com>
Date:   Wed Sep 27 23:57:06 2023 +0530

    made disks stat logic async

commit 278a0e6b17
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

commit e89519fbb2
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

commit d16adc9fd0
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

commit f34b40892f
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

commit 6027cedd42
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

commit 2c3ac4855d
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

commit f90dc37c26
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

commit 5c6a281002
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

commit 68a49c10a6
Author: SidVeld <sidveld@gmail.com>
Date:   Wed Sep 6 18:03:31 2023 +0300

    Add horizon theme

commit 0cac861910
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

commit f798acdaf7
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")

commit 975525d38f
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

commit 08abf0b930
Author: aristocratos <gnmjpl@gmail.com>
Date:   Sun Aug 27 01:28:36 2023 +0200

    Quickfixes for MacOS and FreeBSD compilation.

commit 7290109f80
Author: aristocratos <gnmjpl@gmail.com>
Date:   Sun Aug 27 00:58:30 2023 +0200

    Merge fix

commit 283d463242
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

commit efddad42dc
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

commit a9bc0874d4
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

commit b3970ee19c
Author: aristocratos <gnmjpl@gmail.com>
Date:   Sat Aug 26 20:52:59 2023 +0200

    Fixed: Key 5-0 gpu box toggle

commit bd5d697830
Author: aristocratos <gnmjpl@gmail.com>
Date:   Sat Aug 26 20:29:43 2023 +0200

    Squashed commit of the following:

    commit c296ac13cd
    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

    commit 9a1e760a66
    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

    commit 9c8af4df43
    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

    commit 8a49d8cf45
    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

    commit 1556388c83
    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

    commit d17e1a2dac
    Author: Jos Dehaes <jos.dehaes@gmail.com>
    Date:   Fri Aug 25 16:18:39 2023 +0200

        fix some warnings

    commit 4d8aa6b118
    Author: Jos Dehaes <jos.dehaes@gmail.com>
    Date:   Fri Aug 25 15:52:58 2023 +0200

        fix core check

    commit 22e64caaff
    Author: Jonathan Fouquart <jfouquart@hotmail.fr>
    Date:   Fri Aug 25 09:37:49 2023 +0200

        Fix getting zfs pool name with '.' char in freebsd

    commit 2217cbe143
    Author: Jos Dehaes <jos.dehaes@gmail.com>
    Date:   Wed Aug 23 16:01:04 2023 +0200

        [macos] don't check /sys on macos

    commit 008fcd889e
    Author: Jos Dehaes <jos.dehaes@gmail.com>
    Date:   Wed Aug 23 16:05:00 2023 +0200

        also add g++13

    commit 0fdca5eb03
    Author: Jos Dehaes <jos.dehaes@gmail.com>
    Date:   Wed Aug 23 15:54:07 2023 +0200

        support gcc13

    commit dcbdb7360d
    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

    commit 1b126f55e3
    Author: aristocratos <gnmjpl@gmail.com>
    Date:   Fri Aug 4 01:08:27 2023 +0200

        Update Makefile for partial static compilation on freebsd

    commit c8ec6bbb00
    Author: aristocratos <gnmjpl@gmail.com>
    Date:   Thu Aug 3 23:08:33 2023 +0200

        Fix freebsd nullptr changes and makefile for gcc12 and newer

    commit 8a33aab588
    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.

    commit 94e5c02d11
    Author: aristocratos <gnmjpl@gmail.com>
    Date:   Thu Jul 27 20:51:21 2023 +0200

        Better text editing

    commit 091c30ab2b
    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

    commit e4abcefbf9
    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.

    commit d53307f14c
    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

    commit 594f42b9eb
    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

    commit aca2e4be75
    Author: aristocratos <gnmjpl@gmail.com>
    Date:   Wed Jul 26 14:38:48 2023 +0200

        Fix whitespace indent -> tab indent

    commit 33faa01910
    Author: aristocratos <gnmjpl@gmail.com>
    Date:   Wed Jul 26 14:34:15 2023 +0200

        Revert fmt submodule to static fmt folder in include

    commit 53d6ebabc0
    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

commit 346c9e479b
Author: romner <roman@skotnica.com>
Date:   Wed Jul 19 16:53:58 2023 +0200

    Fix GPU text overflow in CPU panel, again

commit 3a5e5fd5d3
Author: romner <roman@skotnica.com>
Date:   Wed Jul 19 16:22:45 2023 +0200

    Improve 0-10 key input

commit 972b2b6a01
Author: romner <roman@skotnica.com>
Date:   Wed Jul 19 15:54:35 2023 +0200

    Fix available boxes in menu & config description

commit 1f73453aec
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

commit 46c6be0a29
Author: romner <roman@skotnica.com>
Date:   Sun Jul 16 17:19:09 2023 +0200

    Fix GPU horizontal text overflow in CPU panel

commit 85fb28cee6
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

commit 3fad8a6fde
Author: romner-set <roman@skotnica.com>
Date:   Mon Jun 26 13:10:31 2023 +0200

    Add GPU options

commit 746f716a02
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

commit d8ebbe1181
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

commit be10989151
Author: romner <roman@skotnica.com>
Date:   Tue Jun 6 19:47:07 2023 +0200

    Parallelize NVML PCIe TX/RX data collection

commit 85892a9fe3
Author: aristocratos <gnmjpl@gmail.com>
Date:   Mon Jun 5 21:59:26 2023 +0200

    Fix type: ulong -> size_t and compare std::cmp_less

commit 85a10f0305
Author: romner <roman@skotnica.com>
Date:   Fri Jun 2 16:14:24 2023 +0200

    Fix ROCm SMI makefile flags

commit cd6979277d
Author: romner <roman@skotnica.com>
Date:   Fri Jun 2 15:44:44 2023 +0200

    Fix error when ROCm SMI static compilation fails

commit daaa45324f
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

commit 093edfe948
Author: aristocratos <gnmjpl@gmail.com>
Date:   Thu Jun 1 19:49:00 2023 +0200

    Minor changes in wording...

commit b9a4d31fa4
Author: aristocratos <gnmjpl@gmail.com>
Date:   Thu Jun 1 19:37:53 2023 +0200

    Fix Makefile dependency order and layout

commit a0163ce220
Author: romner <roman@skotnica.com>
Date:   Thu Jun 1 16:42:02 2023 +0200

    Statically link ROCm SMI

commit b2df0696fd
Author: romner-set <roman@skotnica.com>
Date:   Thu Jun 1 03:41:56 2023 +0200

    Dynamically load NVML

commit 547f17dda3
Author: romner-set <roman@skotnica.com>
Date:   Tue May 30 18:24:50 2023 +0200

    Add more GPU graph types to the CPU panel

commit 842c761a73
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

commit 8c96bd51e9
Author: romner <roman@skotnica.com>
Date:   Sun May 21 20:34:47 2023 +0200

    Handle GPUs which cannot report certain stats in GPU panel

commit 414d7eb94c
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

commit 005de97e6d
Author: aristocratos <gnmjpl@gmail.com>
Date:   Sun May 21 13:58:11 2023 +0200

    Add missing fmt prefixes

commit 1fee2bc08b
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

commit 2e68c0b916
Author: aristocratos <gnmjpl@gmail.com>
Date:   Sat May 20 17:27:20 2023 +0200

    Fixed key > gpu_names check

commit 04ed16a9f6
Author: aristocratos <gnmjpl@gmail.com>
Date:   Sat May 20 17:15:45 2023 +0200

    Merged changes from main

commit 8c710a2b68
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

commit 8bae1ec092
Author: aristocratos <gnmjpl@gmail.com>
Date:   Sat May 20 00:13:00 2023 +0200

    Fixed debug timer for gpu

commit 01acfd603e
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

commit 22a463976d
Author: romner <roman@skotnica.com>
Date:   Thu May 18 16:07:05 2023 +0200

    Add GPU info to CPU panel

commit c352bf2613
Author: romner-set <roman@skotnica.com>
Date:   Mon May 15 19:42:55 2023 +0200

    Add ROCm SMI backend for AMD GPU support

commit 917d568a77
Author: romner-set <roman@skotnica.com>
Date:   Mon May 15 13:58:54 2023 +0200

    Add multi-GPU support for NVML data collection

commit 2d27f2ff61
Author: romner <roman@skotnica.com>
Date:   Sun May 14 17:40:50 2023 +0200

    Fix crash when no nvidia GPU is detected

commit 0e0025a2c3
Author: romner <roman@skotnica.com>
Date:   Sun May 14 17:31:39 2023 +0200

    Update makefile text, fix typo and adhere to contibuting guidelines

commit bcffcdf19f
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

commit 95b3228308
Author: romner <roman@skotnica.com>
Date:   Sat May 13 19:41:51 2023 +0200

    Improve GPU side panel

commit adcdc583b0
Author: romner <roman@skotnica.com>
Date:   Sat May 13 00:27:23 2023 +0200

    Add GPU side panel

commit d522a91ef4
Author: romner <roman@skotnica.com>
Date:   Fri May 12 19:34:47 2023 +0200

    Add rudimentary, fullscreen single-GPU NVML utilization graph
2024-01-02 15:29:53 +01:00
.github Squashed commit of the following: 2024-01-02 15:29:53 +01:00
Img Add desktop icon svg and png 2022-05-07 14:48:03 +03:00
cmake/Modules Squashed commit of the following: 2024-01-02 15:29:53 +01:00
include Squashed commit of the following: 2024-01-02 15:29:53 +01:00
snap Squashed commit of the following: 2024-01-02 15:29:53 +01:00
src Squashed commit of the following: 2024-01-02 15:29:53 +01:00
themes Squashed commit of the following: 2024-01-02 15:29:53 +01:00
.editorconfig Squashed commit of the following: 2024-01-02 15:29:53 +01:00
.gitignore Squashed commit of the following: 2024-01-02 15:29:53 +01:00
.gitmodules Revert fmt submodule to static fmt folder in include 2023-07-26 14:34:15 +02:00
CHANGELOG.md Squashed commit of the following: 2024-01-02 15:29:53 +01:00
CMakeLists.txt Squashed commit of the following: 2024-01-02 15:29:53 +01:00
CODE_OF_CONDUCT.md Init 2021-05-06 20:32:03 +02:00
CONTRIBUTING.md Loads... 2021-07-21 03:17:34 +02:00
LICENSE Init 2021-05-06 20:32:03 +02:00
Makefile Squashed commit of the following: 2024-01-02 15:29:53 +01:00
README.md Squashed commit of the following: 2024-01-02 15:29:53 +01:00
btop.desktop Update btop.desktop 2022-05-30 09:34:24 +02:00

README.md

btop++

Packaging status

Linux macOS FreeBSD Usage c++20 latest_release Donate Sponsor Coffee btop Continuous Build Linux Continuous Build macOS Continuous Build FreeBSD

Index

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 for more info on how to compile with gpu monitoring support.

Many thanks to @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

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 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 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 who wrote the vast majority of the implementation!

More...
30 October 2021

Work on the OSX [macOS] and FreeBSD branches, both initiated and mostly worked on by @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

# 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

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, big thanks :) See branch 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 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.

Documents

CHANGELOG.md

CONTRIBUTING.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 and 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 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 for options.

Or donate through paypal or ko-fi.

Any support is greatly appreciated!

Prerequisites

For best experience, a terminal with support for:

  • 24-bit truecolor (See list of terminals with truecolor support)
  • 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 for an example of a font that includes the braille symbols.

  • See comments by @sgleizes link and @XenHat link 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

Main UI in TTY mode

Screenshot 2

Main UI with custom options

Screenshot 3

Main-menu

Screenshot 3

Options-menu

Screenshot 4

Help-menu

Screenshot 5

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 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:
    # 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:
    # 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:
    sudo make uninstall
    
  • Show help

    make help
    

Binary release (from native os repo)

  • openSUSE
  • Fedora
    sudo dnf install btop
    
  • RHEL/AlmaLinux 8+
    sudo dnf install epel-release
    sudo dnf install btop
    
  • FreeBSD
    pkg install btop
    

Binary release on Homebrew (macOS (x86_64 & ARM64) / Linux (x86_64))

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 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 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:

    git clone https://github.com/RadeonOpenCompute/rocm_smi_lib.git --depth 1 -b rocm-5.6.x lib/rocm_smi_lib
    

With Make

  1. Install dependencies (example for Ubuntu 21.04 Hirsute)

    sudo apt install coreutils sed git build-essential gcc-11 g++-11
    
  2. Clone repository

    git clone https://github.com/aristocratos/btop.git
    cd btop
    
  3. Compile

    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

    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)

    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

    sudo make uninstall
    
  • Remove any object files from source dir

    make clean
    
  • Remove all object files, binaries and created directories in source dir

    make distclean
    
  • Show help

    make help
    

With CMake (Community maintained)

  1. Install build dependencies

    Requires Clang / GCC, CMake, Ninja and Git

    For example, with Debian Bookworm:

    sudo apt install cmake git g++ ninja-build
    
  2. Clone the repository

    git clone https://github.com/aristocratos/btop.git && cd btop
    
  3. Compile

    # 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

    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

    cmake --build build -t clean
    

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

With Make

  1. Install dependencies (example for Homebrew)

    brew install coreutils make gcc@12
    
  2. Clone repository

    git clone https://github.com/aristocratos/btop.git
    cd btop
    
  3. Compile

    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

    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)

    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

    sudo gmake uninstall
    
  • Remove any object files from source dir

    gmake clean
    
  • Remove all object files, binaries and created directories in source dir

    gmake distclean
    
  • Show help

    gmake help
    

With CMake (Community maintained)

  1. Install build dependencies

    Requires Clang, CMake, Ninja and Git

    brew update --quiet
    brew install cmake git llvm ninja
    
  2. Clone the repository

    git clone https://github.com/aristocratos/btop.git && cd btop
    
  3. Compile

    # 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

    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

    cmake --build build -t clean
    

Compilation FreeBSD

Requires at least GCC 10 or Clang 16.

Note that GNU make (gmake) is required to compile on FreeBSD.

With gmake

  1. Install dependencies

    sudo pkg install gmake gcc11 coreutils git
    
  2. Clone repository

    git clone https://github.com/aristocratos/btop.git
    cd btop
    
  3. Compile

    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

    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)

    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

    sudo gmake uninstall
    
  • Remove any object files from source dir

    gmake clean
    
  • Remove all object files, binaries and created directories in source dir

    gmake distclean
    
  • Show help

    gmake help
    

With CMake (Community maintained)

  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:

    pkg install cmake ninja
    

    FreeBSD 13:

    pkg install cmake gcc13 ninja
    
  2. Clone the repository

    git clone https://github.com/aristocratos/btop.git && cd btop
    
  3. Compile

    FreeBSD 14 and later:

    # Configure
    cmake -B build -G Ninja
    # Build
    cmake --build build
    

    FreeBSD 13:

    # 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

    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

    cmake --build build -t clean
    

Installing the snap

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

    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

    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)

#? 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

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