github ClementTsang/bottom 0.6.0
0.6.0 Release

latest releases: nightly, 0.9.6, 0.9.5...
2 years ago

Finally, another release... this was originally supposed to release months ago, but burnout and things like school and starting/finding a new job have severely impacted my rate of development. I'm really sorry about that!

For those unaware, due to my very slow rate of pushing out stable releases, I also have a nightly release, which will build every day. For those who want features/fixes out faster, I recommend taking a look at that.

There were also supposed to be a few more features I wanted to get done first as part of 0.6.0, but with the rate they were going, it would take probably another few weeks or a month, and I decided to push them ahead to a future release.

With that out of the way, there's lots of new stuff, some of which are from contributors. If I missed anyone, sorry. Thanks for everything!

Features

  • #263: Fine-grained kill signals (courtesy of @LlinksRechts) - bottom defaulted to kill -15, but now, on Unix-based systems (Linux, macOS), you can directly choose which kill signal you want (no effect on Windows, sadly!):

image

You can disable this feature if you want with the --disable_advanced_kill flag or config option, which will instead revert to the older style with just two options.

  • #333: Scroll position indicator using --show_table_scroll_position:

image

  • #379] --process_command flag option to default to showing the full process command by default.

  • #381: Added network interface filters. This is useful if you, for example, want to exclude a specific interface - you can add it in the config file like so:

[net_filter]
is_list_ignored = true
list = ["virbr0.*"]
regex = true
case_sensitive = false
whole_word = false

A better way of doing this in-app will come in the future.

  • #392: Thanks to @pvanheus, you can now see CPU times on Unix-based systems. This is currently only supported in non-basic modes, and shows the CPU times as part of the widget title:

image

Support for basic modes and probably more configuration will come in the future.

  • #406: Added Nord colour schemes. This can be enabled either in the config file or command line with color=nord or color=nord-light.

image

image

  • #409: Add Ctrl-w and Ctrl-h shortcuts in search in order to delete a word or a character respectively.

bottom_ctrl_w_h_test

  • #413: Added mouse support for sorting process columns:

bottom_mouse_sort

This is only for the process tab for now, sorting + all this will come to other tables in a future release.

  • #425: Added users as a column in the process widget for Unix-based systems.

image

  • #437: Revamped network y-axis, with linear scaling, unit type, and prefix type options. The new default is a linear scale that uses base 10 units (kilo, mega, giga...) and bits. This is opposed to the previous system relying on base 2 units (kibi, mebi, gibi...) and bytes. These options can be changed using:

    • --network_use_binary_prefix: Switch to using a binary prefix
    • --network_use_bytes: Switch to using bytes
      ---network_use_log: Switch to a logarithmic scale

In an effort to present as much information as possible as well, the new linear scale version will adjust its current y-axis range based on its current window of data to try to give as much information as possible. For example, when it's low, it might look like this:

image

But after we load something, the usage is now in Mbs:

image

  • #445: Collapsing in tree mode now sums the usage to the parent. This is helpful if you collapse a process' child processes, but still want to know the "usage" that the collapsed children would be using in addition to the parent.

image

image

  • #455: Add mount point filter, slightly reworked how the filter system works. The mount point filter syntax looks like:
[mount_filter]
is_list_ignored = true
list = ["/mnt/.*", "/boot"]
regex = true
case_sensitive = false
whole_word = false

Since the mount point filter works in conjunction with the disk filter, we adjusted how the filter system works. It now checks, in order of precedence:

  1. If a disk entry is directly allowed by the filter (if is_list_ignored = false).
  2. If a disk entry is directly blocked by the filter (if is_list_ignored = true).
  3. All remaining entries are allowed.

Changes

  • #372: Hide SWAP legend and graph if it is 0.

  • #390: Courtesy of @Frederick888, macOS shouldn't require elevated privileges to see CPU usage on all processes now.

  • #391: Thanks to @ehamberg, show a degree symbol for Celsius and Fahrenheit temperatures.

  • #418: Sorting no longer forces a jump to the top in a menu.

  • #420: Prettier looking tables (mainly with row selection) due to a new tui-rs version.

  • #437: Add linear interpolation to give nicer looking graphs when entries start to move off-screen.

  • #443: Make process widget consistent with disk widget in terms of using decimal prefixes.

  • #449: For literal memory usage values, add decimal point to values greater or equal to 1GiB.

  • #450: Adjust default-light colour scheme to look better on white terminals.

  • #451: Add decimal place to disk values larger than 1GB for total read/write and read/write per second for both the disk and process widget.

Bug Fixes

  • #416: Fixes grouped vs ungrouped modes in the processes widget having inconsistent spacing.

  • #417: Fixes the sort menu and sort shortcuts not syncing up.

  • #423: Fixes disk encryption causing the disk widget to fail or not properly map I/O statistics.

  • #425: Fixed a bug allowing grouped mode in tree mode if already in grouped mode.

  • #440: Thanks to @zebp , fixed a potential segfault with the new users column.

  • #467: Switched CPU usage data source to fix a bug on Windows where occasionally CPU usage would be stuck at 0%.

Don't miss a new bottom release

NewReleases is sending notifications on new releases.