aboutsummaryrefslogtreecommitdiff
path: root/system/bottom
diff options
context:
space:
mode:
authorK. Eugene Carlson <kvngncrlsn@gmail.com>2022-04-05 20:49:34 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-04-09 15:45:46 +0700
commitd6f15eb36b82aff4a0bd4d5ac78a238c82ebdae7 (patch)
tree37078f15f72870cb66c8d25a0196e15b8234f611 /system/bottom
parentbeab61a220919bcc39904562d0b9520e53b8c4b2 (diff)
system/bottom: Added (system/process monitor).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system/bottom')
-rw-r--r--system/bottom/README12
-rw-r--r--system/bottom/bottom.SlackBuild181
-rw-r--r--system/bottom/bottom.info338
-rw-r--r--system/bottom/btm.1181
-rw-r--r--system/bottom/slack-desc19
5 files changed, 731 insertions, 0 deletions
diff --git a/system/bottom/README b/system/bottom/README
new file mode 100644
index 000000000000..ad345361dcc1
--- /dev/null
+++ b/system/bottom/README
@@ -0,0 +1,12 @@
+bottom (system/process monitor for the terminal)
+
+bottom is a configurable, widget-based system and process monitor for
+the terminal.
+
+Completions are installed for bash and zsh by default, and for fish if
+fish is installed at the time of building. PowerShell completions can
+be enabled by adding ". _btm.ps1" to the profile. _btm.ps1 and btm.fish
+can be found in the doc directory.
+
+A default configuration file is generated at
+$HOME/.config/bottom/bottom.toml when running for the first time.
diff --git a/system/bottom/bottom.SlackBuild b/system/bottom/bottom.SlackBuild
new file mode 100644
index 000000000000..e090e1864895
--- /dev/null
+++ b/system/bottom/bottom.SlackBuild
@@ -0,0 +1,181 @@
+#!/bin/bash
+
+# Slackware build script for bottom
+
+# Copyright 2022 K. Eugene Carlson Tsukuba, Japan
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=bottom
+BINNAM=btm
+VERSION=${VERSION:-0.6.8}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+
+ if [ "$ARCH" = "i586" ]; then
+ if rustc -Vv | grep host | grep i686 > /dev/null ; then
+ ARCH=i686
+ fi
+ fi
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ CARGOTARGET="--target i586-unknown-linux-gnu"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ CARGOTARGET="--target i686-unknown-linux-gnu"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ CARGOTARGET="--target x86_64-unknown-linux-gnu"
+else
+ SLKCFLAGS="-O2"
+ CARGOTARGET=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+
+# build offline
+# configuration tells cargo to use the configured directory
+# for dependencies instead of downloading from crates.io
+cat << EOF > .cargo/config
+[source.crates-io]
+registry = 'https://github.com/rust-lang/crates.io-index'
+replace-with = 'vendored-sources'
+
+[source.vendored-sources]
+directory = '$(pwd)/vendor'
+EOF
+
+# deps and versions come from Cargo.lock
+mkdir vendor
+(
+ cd vendor
+
+ grep -h -A 3 "\[\[package\]\]" $(find ../ -maxdepth 1 -mindepth 1 -name Cargo.lock | tr '\n' ' ') | \
+ sed 's/[[:space:]]*=[[:space:]]*/=/g;s/^--//;s/^\[\[/--\n[[/' | \
+ awk 'BEGIN { RS = "--\n" ; FS="\n" } { print $2, $3, $4 }' | sed 's/"//g;s/name=//;s/ version=/=/' | \
+ grep crates\.io-index | sed 's/ source=.*$//' | sort -u | while read -r dep ; do
+
+ ver="$(printf "%s\n" "$dep" | cut -d= -f2)"
+ dep="$(printf "%s\n" "$dep" | cut -d= -f1)"
+
+ tar xvf $CWD/$dep-$ver.crate
+
+ touch $dep-$ver/.cargo-ok
+
+ # generate checksum
+ {
+ printf "{\n"
+ printf ' "files": {\n'
+
+ (
+ cd $dep-$ver
+ find . -type f -print0 | xargs -0 sha256sum | sed -n '/\.cargo-checksum\.json/!p' | sed 's/\.\///;s/^\([^ ]*\)[[:space:]][[:space:]]*\(.*\)$/"\2":"\1",/'
+ ) | sed '$ s/,$//'
+
+ printf " },\n"
+ printf ' "package": "'
+
+ sha256sum "$CWD/$dep-$ver.crate" | cut -f1 -d' ' | sed 's/$/"/'
+
+ printf "}\n"
+ } > $dep-$ver/.cargo-checksum.json
+ done
+)
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CARGO_HOME=.cargo \
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+cargo build --release $CARGOTARGET
+
+mkdir -p $PKG/usr/bin
+find target -name $BINNAM -exec install -m 755 {} $PKG/usr/bin \;
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# A man page has been added since the most recent release; copy it in.
+mkdir -p $PKG/usr/man/man1
+gzip -9 -c $CWD/$BINNAM.1 > $PKG/usr/man/man1/$BINNAM.1.gz
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -ar docs/content/* $PKG/usr/doc/$PRGNAM-$VERSION
+# The contents of docs/content/ can be used to generate a static web page with
+# mkdocs, but it would require a lot of dependencies, some of which are not on
+# SBo. Leaving everything as markdown documents instead.
+rm -rf $PKG/usr/doc/$PRGNAM-$VERSION/{overrides,assets,index.md,mkdocs.yml,requirements.txt}
+cp -a LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+# Completions
+mkdir -p $PKG/usr/share/bash-completion/completions
+find target -name $BINNAM.bash -exec install -m 644 {} $PKG/usr/share/bash-completion/completions \;
+mkdir -p $PKG/usr/share/zsh/site-functions
+find target -name _$BINNAM -exec install -m 644 {} $PKG/usr/share/zsh/site-functions \;
+# Only install the fish completions if fish is installed.
+if [ -x /usr/bin/fish ]; then
+ mkdir -p $PKG/usr/share/fish/vendor_completions.d
+ find target -name $BINNAM.fish -exec install -m 644 {} $PKG/usr/share/fish/vendor_completions.d \;
+fi
+# Keep files for fish and PowerShell completions in the doc directory.
+find target -name $BINNAM.fish -exec install -m 644 {} $PKG/usr/doc/$PRGNAM-$VERSION \;
+find target -name _$BINNAM.ps1 -exec install -m 644 {} $PKG/usr/doc/$PRGNAM-$VERSION \;
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/system/bottom/bottom.info b/system/bottom/bottom.info
new file mode 100644
index 000000000000..79e28dffd6a3
--- /dev/null
+++ b/system/bottom/bottom.info
@@ -0,0 +1,338 @@
+PRGNAM="bottom"
+VERSION="0.6.8"
+HOMEPAGE="https://github.com/ClementTsang/bottom"
+DOWNLOAD="https://github.com/ClementTsang/bottom/archive/0.6.8/bottom-0.6.8.tar.gz \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/addr2line/addr2line-0.16.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/adler/adler-1.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.7.18.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/anyhow/anyhow-1.0.44.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/assert_cmd/assert_cmd-1.0.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/async-channel/async-channel-1.6.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/async-executor/async-executor-1.4.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/async-fs/async-fs-1.5.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/async-io/async-io-1.6.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/async-lock/async-lock-2.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/async-net/async-net-1.6.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/async-process/async-process-1.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/async-task/async-task-4.0.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/atomic-waker/atomic-waker-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/backtrace/backtrace-0.3.61.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/battery/battery-0.7.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.3.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/blocking/blocking-1.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bstr/bstr-0.2.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/byteorder/byteorder-1.4.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cache-padded/cache-padded-1.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cargo-husky/cargo-husky-1.5.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cassowary/cassowary-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.71.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/concurrent-queue/concurrent-queue-1.2.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/core-foundation/core-foundation-0.7.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/core-foundation/core-foundation-0.9.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/core-foundation-sys/core-foundation-sys-0.7.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/core-foundation-sys/core-foundation-sys-0.8.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crc32fast/crc32fast-1.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-channel/crossbeam-channel-0.5.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-deque/crossbeam-deque-0.8.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-epoch/crossbeam-epoch-0.9.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.8.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossterm/crossterm-0.18.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossterm_winapi/crossterm_winapi-0.6.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ctrlc/ctrlc-3.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/difference/difference-2.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/difflib/difflib-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs/dirs-3.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs-sys/dirs-sys-0.3.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/doc-comment/doc-comment-0.3.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/either/either-1.6.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/event-listener/event-listener-2.5.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fastrand/fastrand-1.5.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fern/fern-0.6.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/flate2/flate2-1.0.22.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/float-cmp/float-cmp-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures/futures-0.3.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-channel/futures-channel-0.3.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-core/futures-core-0.3.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-executor/futures-executor-0.3.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-io/futures-io-0.3.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-lite/futures-lite-1.12.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-macro/futures-macro-0.3.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-sink/futures-sink-0.3.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-task/futures-task-0.3.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-timer/futures-timer-3.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-util/futures-util-0.3.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fxhash/fxhash-0.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/getrandom/getrandom-0.2.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/gimli/gimli-0.25.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/glob/glob-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hashbrown/hashbrown-0.11.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/heim/heim-0.1.0-rc.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/heim-common/heim-common-0.1.0-rc.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/heim-cpu/heim-cpu-0.1.0-rc.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/heim-disk/heim-disk-0.1.0-rc.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/heim-memory/heim-memory-0.1.0-rc.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/heim-net/heim-net-0.1.0-rc.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/heim-runtime/heim-runtime-0.1.0-rc.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/heim-sensors/heim-sensors-0.1.0-rc.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hermit-abi/hermit-abi-0.1.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hex/hex-0.4.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/indexmap/indexmap-1.7.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/instant/instant-0.1.11.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/itertools/itertools-0.10.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/itoa/itoa-0.4.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lazycell/lazycell-1.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.112.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lock_api/lock_api-0.4.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/macaddr/macaddr-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/mach/mach-0.3.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.4.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/memoffset/memoffset-0.6.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/miniz_oxide/miniz_oxide-0.4.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/mio/mio-0.7.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/miow/miow-0.3.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/nix/nix-0.19.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/nix/nix-0.23.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/normalize-line-endings/normalize-line-endings-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ntapi/ntapi-0.3.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-integer/num-integer-0.1.44.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-rational/num-rational-0.3.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-traits/num-traits-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.13.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/object/object-0.26.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/once_cell/once_cell-1.5.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/parking/parking-2.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/parking_lot/parking_lot-0.11.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/parking_lot_core/parking_lot_core-0.8.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pin-project-lite/pin-project-lite-0.2.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pin-utils/pin-utils-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/polling/polling-2.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/predicates/predicates-1.0.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/predicates/predicates-2.0.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/predicates-core/predicates-core-1.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/predicates-tree/predicates-tree-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-hack/proc-macro-hack-0.5.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-nested/proc-macro-nested-0.1.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-1.0.30.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/procfs/procfs-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-1.0.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rayon/rayon-1.5.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rayon-core/rayon-core-1.9.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.2.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_users/redox_users-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.5.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-automata/regex-automata-0.1.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rustc-demangle/rustc-demangle-0.1.21.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/scopeguard/scopeguard-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde/serde-1.0.130.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_derive/serde_derive-1.0.130.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/signal-hook/signal-hook-0.1.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/signal-hook/signal-hook-0.3.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/signal-hook-registry/signal-hook-registry-1.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/slab/slab-0.4.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/smallvec/smallvec-1.7.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/smol/smol-1.2.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/socket2/socket2-0.4.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-1.0.80.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/sysinfo/sysinfo-0.23.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/termtree/termtree-0.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/textwrap/textwrap-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thiserror/thiserror-1.0.30.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thiserror-impl/thiserror-impl-1.0.30.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/time/time-0.3.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/time-macros/time-macros-0.2.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/toml/toml-0.5.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tui/tui-0.14.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/typed-builder/typed-builder-0.9.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/typenum/typenum-1.14.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-segmentation/unicode-segmentation-1.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-xid/unicode-xid-0.2.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/uom/uom-0.30.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vec_map/vec_map-0.8.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wait-timeout/wait-timeout-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/waker-fn/waker-fn-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasi/wasi-0.10.2+wasi-snapshot-preview1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wepoll-ffi/wepoll-ffi-0.1.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/widestring/widestring-0.4.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate"
+MD5SUM="f694537adb9d46cdf791ce417ca59e46 \
+ b2e8486dbbfbc834f335f839d37c9346 \
+ 669215548c64019c08c92b2c1afd3deb \
+ 425b8fdf70df59998d9b7c89083e48d1 \
+ 294a49d3c53865fa7ac5d0ce2f5d5735 \
+ 263b738382e41e269ca65a865ae1d01b \
+ 56b0d48b275aaee1ec3263f2894e479a \
+ 218d9b779b991e39e2e3fd2f299a9864 \
+ 50806ccba0af9b3fdd3e37c6b651059c \
+ b0206c0ca19ba2e525da9e1db903aee4 \
+ 8588bed0c242a7e964ac4cf236dbccd2 \
+ ae1a5d749e1a8af706a5c9104bb0923b \
+ cfa4e85948739da8b12ca4cad528e011 \
+ 327b4203588095f1de4095acfe4239f0 \
+ 9bd2bc42e6e315351686a2e53f14fe4d \
+ 6a2f7b82f00aaf8f9124cbae817980ac \
+ 142cb4b9a653e56e56311f0c883b8582 \
+ c6443ec8d007c729ba5482008d0c864d \
+ 8e9a0b5019019066d463af0acfc6858a \
+ 41c2aaeb54243a38c01d5d7157f8c942 \
+ a295edb6953237ebbdfa8e731229f9a3 \
+ 440ac52a904021be9513d181f75bfad4 \
+ f5b0c1878d1deab2cc401e09fa6c78af \
+ 1e704be5ddde9d6b5383ef1035309f91 \
+ 4f103ee2534b69f224d73a97ee8caa8e \
+ a4f857ba050986342507b6f60371cc16 \
+ 2c186ae5cf4d2d548d0f1cc901111e69 \
+ 92941d0a7ba2114d1a4f38d5a85a1163 \
+ 74634128440dbc3766bda76fdf0aaa05 \
+ bc79e0eb364df515a33755ac9a581cfd \
+ f637bf20fac185ee2687bb2a08325e59 \
+ f0682cfdc40af509c98f46f6350c1ba5 \
+ d0af2883c35f5c7677a32013d9532ab8 \
+ 9754db1eb3e8b15807f05a3540d2ab39 \
+ d05cbf26ed52299487a802688a1d22cb \
+ e5b87a7cd8e16e7f46ee58f0e75c026a \
+ 8ccc134aada411c061ab48129d8e943d \
+ 93c803ad55de44eedc24870f83d0279b \
+ abc0193f7682dc24b842904a251c5258 \
+ 408eb4dde8dcd169b3892ec48827e84b \
+ ec99258583d84521c0127cf9779ccd0e \
+ faf62c84c5d61c20b39d28f610ca69cf \
+ 1563c9987fffdf6ca87c202a17782bc2 \
+ 5e49f4c3f9076fe30ae207fe951f9195 \
+ bebc8338ae113a87a04564c97c1e3f0c \
+ 92499f5db37eadb0efa33bcc91248577 \
+ fa374221103dd3f31d3e1663b2e356fe \
+ dd1e49c76e9d5853e673a3b41ba02917 \
+ b4e2b229c362ad0dd313ff631816d5db \
+ 4b783dd57f9ffacf9aacf1dc4f661199 \
+ 06aa7e0531c8336726059a08d4579da8 \
+ 9bb99bc31c32da009e64621f4c635748 \
+ 40a1c344c1753ed6428bd27ee0ebe64f \
+ 2a49454320cf4ea4fde553c66e2e9522 \
+ 33b9ba92f40b683106fcfeb0bc1006c3 \
+ bb4c6a75e0330d60413c42fd2df8e1d4 \
+ 39a615e6e64be47b6526dbdb10f03aa5 \
+ d73699336519523e79350eb635ce1364 \
+ 5227c2060895de6ed04329db776c9ff7 \
+ 3763e6c936b1accbd2e9a7c8118793e0 \
+ 555dda6ea822696b6aa40f7ede0ebfcd \
+ 18cae1d8dc312fa017b24b21d906a9fc \
+ ae3146575859e9e6a95576f75bfddc5e \
+ 23e8b9cc40cb6247022c1265fb95505b \
+ c8fde0f0c8aa0cc139753968337b28e1 \
+ 3903eb92a9ffd398f49c39b8df8e3987 \
+ 9db1c40cc98e60cc7bd6782249a0ba01 \
+ abc615176c51240340a293f2983cd78a \
+ e7c07242a95ee1df865efe9534e10a34 \
+ 62b3edf8c2db7fccb1a6a41134b84e62 \
+ 12dc8a7940e0527aadbdef0e9c9c66e5 \
+ 1f84b322c47cb8e1a42a4d69fff996b2 \
+ 01161934d3aa3537be7283febcc08815 \
+ 47e79c7e0c436cbe31d53ebcb5d08a5a \
+ 181f3deae5c66b06d97eb7721b31b2fe \
+ ccb35915b6e7fce42d9dd084eb932b45 \
+ 98bd9a8fb96a2783d5080bbe5ae39b05 \
+ 50a56aac9e9094215f95bb47347ad599 \
+ 0b7994d1256215201bdfb810a357ffa2 \
+ 1d3e530a3410fc95a6987d70f84a6332 \
+ b77f75d6da2eedbad4f109a28b2ef24b \
+ afca29ce58f32545ee0dfafd43c20be7 \
+ 721a3e3f82633f6ed70a5abfe64c80bc \
+ 06e7dbde9932c6a9bac63d9288670678 \
+ fba3b040a55c01be7376d3dd5c4d4920 \
+ 23cc9e52c52465f5b225e62ab7cc3457 \
+ b47e45d4ce97cc8801c9607638fd86eb \
+ 90bcfdd7962fdd94b0f3a70a0819d3cc \
+ 40e508baeee8cdccbc471489b0f449ff \
+ 762bb9eadb4818f269e8adb07e55fbcd \
+ 7b3195612bc6090f0fa759e747a9e91c \
+ d75b1c734f85b007c55ca84217df4201 \
+ 39c54f1d98447d48b9c1e0dd345d4316 \
+ 084881559fa038861d17e7b0aa76f54e \
+ 84c0c029460fffc209296b914a16e4c8 \
+ 4604959975c2154a14f6b5e97444e2c8 \
+ 4ade3dff4f5f96ff3aa1c04fd28ac11d \
+ 9f0b644cb632c93e38c17dee59621f6e \
+ f9ddf92ded75c1df47b2dd1379a482fd \
+ 420f93a43fa603c1253213bdf28983df \
+ a8ec1126ef06244ac1e3773981a005f1 \
+ d631c116041b5f68abc8680fa82feedf \
+ c0e036fd990d0c9cae11b5876a5cb572 \
+ c36d452e37c73b1e99f40bae18cddfdb \
+ 0fe8b76f1bab2b00513c6817b15d106e \
+ d227ca24b102ae4ab2a4f3bc3bd44bf3 \
+ 205459def23510e8815562e73a65c898 \
+ 12e4ba5909e1f30b9142932571eaa4da \
+ 233dee08f26c9cbe78f29b66c0c20ccd \
+ 499155f20603f837aa2d4710a6ac38de \
+ 07c75fec267864bcbb800ca7709ceae2 \
+ ecb4db66195081a4215133ed6fb449dc \
+ 0b64bd1f832710eb571c97ee0b7e2388 \
+ a779919eceb8d0de17031dd66ccd2198 \
+ 30d783a004d6ae43913983d49b8466c9 \
+ daa6663999385198496a325414b2f24a \
+ c7c38eb603bed6f42edbc4294806a44a \
+ e6fd8764e2acb835d7d2f04d052e30ce \
+ 66b6d21242168c651e697d781a3f6192 \
+ 6eab41a21761ccd03a2f52d97d7da9bd \
+ 13a51212a18799d3a7022a12244a8ce3 \
+ 41b00d1e0264d76da321d4ee0b03baae \
+ be7c328cd6073cb72cae911580c7ddcf \
+ 4a80ab58144fc731cd12abc6d5139d7f \
+ d961a02195226cfce1a1e23ba5980cb4 \
+ 4606e4a248df4d70509afded817aca14 \
+ 95f4b6766a27d814b4e54d1ccb3b7fc9 \
+ 82401c70623ccc1bfc0bcb5c3b0ac8b7 \
+ 6eb014e73f66bc13226e0ef6d815d375 \
+ b4a0a98a54439a5a37952c8879187ee3 \
+ 72696c3c7b35807d51fdc9692794aea4 \
+ 6022cfe830087be40e5ef983c5eadbfa \
+ f5cb2d644e1a5c3cbb9255aa214db9ad \
+ 7762a8efcd59bf7cc4a9d7ddf89f1953 \
+ 21b43d5721b3a9c16059acb691f4314d \
+ 2fcf5fe983975bbcea43129c9fb31923 \
+ 508a7f3cd5f4b409e22cf877aecfca11 \
+ e4041547a8629659b43459aea18a1da3 \
+ 62ec3c4c7163b4f517ae15bfc5b3eab3 \
+ 781d4ccf5d04c98fa02af207a9639249 \
+ 324c6647a50c65f4a3c83cff645b85df \
+ d499183983245b696074537981e5e51d \
+ 9f350d6efdb24529d3d63725f311163a \
+ a8de006fe0c7e373c560dd51599287a8 \
+ cc180843b3b626ede01ebd9a0d9fbdaa \
+ 3e61457993a6e3fdaaf2fbe82bd7dff3 \
+ 1968aac7c1863e5ea83707ff3e6fc5c7 \
+ 169eb866c188b38ffedccb419b8749c9 \
+ db6fe956ec67f88412df3a627158a7ba \
+ 16d68a25f66e0041f2ca23e7dfdfcfcd \
+ d4b1fb3a807f9382866715101b11b0f8 \
+ 8134a2eb0049ba55aaccbd2e5a1ad832 \
+ 8cf3e6ccd359849ae4e88e0aa69ddae0 \
+ a42cc2834b2150027d7b427558a87803 \
+ 087bfc476e9d73628cebd265590f11f7 \
+ 13ab398bf8d1f1667a9e17dd27936b41 \
+ 333b4ba3f64c35b6f89b521e8d64548b \
+ 6708629acf3d2ecb7404e43255d2df85 \
+ 274f9bcda1e4afd4a290329eff9267ad \
+ a061ad1db3e0d839725b037ff8be84e7 \
+ 20cfa8aba7521c8767344b06c39479f7 \
+ b76284441fb8fbd5dfbd9e450eb8acde \
+ 0498c4a11448bfc35dc7bb2caa64c753 \
+ db96b50050277bf05a3c68534bbb9586 \
+ 09de9d01e7331ff3da11f58be8bef0df"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="K. Eugene Carlson"
+EMAIL="kvngncrlsn@gmail.com"
diff --git a/system/bottom/btm.1 b/system/bottom/btm.1
new file mode 100644
index 000000000000..006b8fe902b1
--- /dev/null
+++ b/system/bottom/btm.1
@@ -0,0 +1,181 @@
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.TH btm 1 "btm 0.6.8"
+.SH NAME
+btm \- A customizable cross\-platform graphical process/system monitor for the terminal. Supports Linux, macOS, and Windows.
+.SH SYNOPSIS
+\fBbtm\fR [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] [\fB\-k\fR|\fB\-\-kelvin\fR] [\fB\-f\fR|\fB\-\-fahrenheit\fR] [\fB\-c\fR|\fB\-\-celsius\fR] [\fB\-\-autohide_time\fR] [\fB\-b\fR|\fB\-\-basic\fR] [\fB\-S\fR|\fB\-\-case_sensitive\fR] [\fB\-\-process_command\fR] [\fB\-C\fR|\fB\-\-config\fR] [\fB\-\-color\fR] [\fB\-\-mem_as_value\fR] [\fB\-t\fR|\fB\-\-default_time_value\fR] [\fB\-\-default_widget_count\fR] [\fB\-\-default_widget_type\fR] [\fB\-\-disable_click\fR] [\fB\-m\fR|\fB\-\-dot_marker\fR] [\fB\-g\fR|\fB\-\-group\fR] [\fB\-a\fR|\fB\-\-hide_avg_cpu\fR] [\fB\-\-hide_table_gap\fR] [\fB\-\-hide_time\fR] [\fB\-\-show_table_scroll_position\fR] [\fB\-l\fR|\fB\-\-left_legend\fR] [\fB\-\-disable_advanced_kill\fR] [\fB\-r\fR|\fB\-\-rate\fR] [\fB\-R\fR|\fB\-\-regex\fR] [\fB\-d\fR|\fB\-\-time_delta\fR] [\fB\-T\fR|\fB\-\-tree\fR] [\fB\-\-network_use_bytes\fR] [\fB\-\-network_use_log\fR] [\fB\-\-network_use_binary_prefix\fR] [\fB\-u\fR|\fB\-\-current_usage\fR] [\fB\-\-use_old_network_legend\fR] [\fB\-W\fR|\fB\-\-whole_word\fR] [\fB\-\-battery\fR]
+.SH DESCRIPTION
+A customizable cross\-platform graphical process/system monitor for the terminal. Supports Linux, macOS, and Windows.
+.SH OPTIONS
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Prints help information. Use \-\-help for info.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Prints version information.
+.TP
+\fB\-k\fR, \fB\-\-kelvin\fR
+Sets the temperature type to Kelvin.
+.TP
+\fB\-f\fR, \fB\-\-fahrenheit\fR
+Sets the temperature type to Fahrenheit.
+.TP
+\fB\-c\fR, \fB\-\-celsius\fR
+Sets the temperature type to Celsius. This is the default option.
+.TP
+\fB\-\-autohide_time\fR
+Automatically hides the time scale in graphs after being shown for a brief moment when zoomed in/out. If time is disabled via \-\-hide_time then this will have no effect.
+.TP
+\fB\-b\fR, \fB\-\-basic\fR
+Hides graphs and uses a more basic look. Design is largely inspired by htop\*(Aqs.
+.TP
+\fB\-S\fR, \fB\-\-case_sensitive\fR
+When searching for a process, enables case sensitivity by default.
+.TP
+\fB\-\-process_command\fR
+Show processes as their commands by default in the process widget.
+.TP
+\fB\-C\fR, \fB\-\-config\fR=\fICONFIG PATH\fR
+Sets the location of the config file. Expects a config file in the TOML format. If it doesn\*(Aqt exist, one is created.
+.TP
+\fB\-\-color\fR=\fICOLOR SCHEME\fR
+Use a pre\-defined color scheme. Currently supported values are:
+
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| default |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| default\-light (default but for use with light backgrounds) |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| gruvbox (a bright theme with \*(Aqretro groove\*(Aq colors) |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| gruvbox\-light (gruvbox but for use with light backgrounds) |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| nord (an arctic, north\-bluish color palette) |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| nord\-light (nord but for use with light backgrounds) |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+
+Defaults to "default".
+
+.TP
+\fB\-\-mem_as_value\fR
+Defaults to showing process memory usage by value. Otherwise, it defaults to showing it by percentage.
+.TP
+\fB\-t\fR, \fB\-\-default_time_value\fR=\fIMS\fR
+Default time value for graphs in milliseconds. The minimum time is 30s (30000), and the default is 60s (60000).
+.TP
+\fB\-\-default_widget_count\fR=\fIINT\fR
+Sets the n\*(Aqth selected widget type to use as the default widget.
+Requires \*(Aqdefault_widget_type\*(Aq to also be set, and defaults to 1.
+
+This reads from left to right, top to bottom. For example, suppose
+we have a layout that looks like:
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| CPU (1) | CPU (2) |
++\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+
+| Process | CPU (3) | Temperature | CPU (4) |
++\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+
+
+And we set our default widget type to \*(AqCPU\*(Aq. If we set
+\*(Aq\-\-default_widget_count 1\*(Aq, then it would use the CPU (1) as
+the default widget. If we set \*(Aq\-\-default_widget_count 3\*(Aq, it would
+use CPU (3) as the default instead.
+
+.TP
+\fB\-\-default_widget_type\fR=\fIWIDGET TYPE\fR
+Sets which widget type to use as the default widget.
+For the default layout, this defaults to the \*(Aqprocess\*(Aq widget.
+For a custom layout, it defaults to the first widget it sees.
+
+For example, suppose we have a layout that looks like:
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| CPU (1) | CPU (2) |
++\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+
+| Process | CPU (3) | Temperature | CPU (4) |
++\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-+
+
+Setting \*(Aq\-\-default_widget_type Temp\*(Aq will make the Temperature
+widget selected by default.
+
+Supported widget names:
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| cpu |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| mem, memory |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| net, network |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| proc, process, processes |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| temp, temperature |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| disk |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+| batt, battery |
++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
+
+.TP
+\fB\-\-disable_click\fR
+Disables mouse clicks from interacting with the program.
+.TP
+\fB\-m\fR, \fB\-\-dot_marker\fR
+Uses a dot marker for graphs as opposed to the default braille marker.
+.TP
+\fB\-g\fR, \fB\-\-group\fR
+Groups processes with the same name by default.
+.TP
+\fB\-a\fR, \fB\-\-hide_avg_cpu\fR
+Hides the average CPU usage from being shown.
+.TP
+\fB\-\-hide_table_gap\fR
+Hides the spacing between table headers and entries.
+.TP
+\fB\-\-hide_time\fR
+Completely hides the time scale from being shown.
+.TP
+\fB\-\-show_table_scroll_position\fR
+Shows the list scroll position tracker in the widget title for table widgets.
+.TP
+\fB\-l\fR, \fB\-\-left_legend\fR
+Puts the CPU chart legend to the left side rather than the right side.
+.TP
+\fB\-\-disable_advanced_kill\fR
+Hides advanced options to stop a process on Unix\-like systems. The only option shown is 15 (TERM).
+.TP
+\fB\-r\fR, \fB\-\-rate\fR=\fIMS\fR
+Sets a refresh rate in milliseconds. The minimum is 250ms, and defaults to 1000ms. Smaller values may take more computer resources.
+.TP
+\fB\-R\fR, \fB\-\-regex\fR
+When searching for a process, enables regex by default.
+.TP
+\fB\-d\fR, \fB\-\-time_delta\fR=\fIMS\fR
+The amount of time in milliseconds changed when zooming in/out. The minimum is 1s (1000), and defaults to 15s (15000).
+.TP
+\fB\-T\fR, \fB\-\-tree\fR
+Defaults to showing the process widget in tree mode.
+.TP
+\fB\-\-network_use_bytes\fR
+Displays the network widget using bytes. Defaults to bits.
+.TP
+\fB\-\-network_use_log\fR
+Displays the network widget with a log scale. Defaults to a non\-log scale.
+.TP
+\fB\-\-network_use_binary_prefix\fR
+Displays the network widget with binary prefixes (i.e. kibibits, mebibits) rather than a decimal prefix (i.e. kilobits, megabits). Defaults to decimal prefixes.
+.TP
+\fB\-u\fR, \fB\-\-current_usage\fR
+Sets process CPU% usage to be based on the current system CPU% usage rather than total CPU usage.
+.TP
+\fB\-\-use_old_network_legend\fR
+DEPRECATED \- uses an older (pre\-0.4), separate network widget legend. This display is not tested anymore and could be broken.
+.TP
+\fB\-W\fR, \fB\-\-whole_word\fR
+When searching for a process, return results that match the entire query by default.
+.TP
+\fB\-\-battery\fR
+Shows the battery widget in default or basic mode. No effect on custom layouts.
+.SH VERSION
+v0.6.8
+.SH AUTHORS
+Clement Tsang <cjhtsang@uwaterloo.ca>
diff --git a/system/bottom/slack-desc b/system/bottom/slack-desc
new file mode 100644
index 000000000000..6332b19c4d36
--- /dev/null
+++ b/system/bottom/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+bottom: bottom (system/process monitor for the terminal)
+bottom:
+bottom: bottom is a configurable, widget-based system and process monitor for
+bottom: the terminal.
+bottom:
+bottom:
+bottom:
+bottom:
+bottom:
+bottom: Author: Clement Tsang
+bottom: Homepage: https://github.com/clementtsang/bottom