mirror of
https://github.com/ClementTsang/bottom.git
synced 2024-09-11 03:35:35 +03:00
* refactor: simplify some config -> constraints code * iteratively progress... * update bcr; this might need testing since I removed some old proc code * widget side * fix battery * fix widget tests with bandaid for now The issue was that the calculations assume a certain ratio for CPU legends. * add some tests * bump up * fix proc drawing issues So with the proc widget in certain places, there would be a panic during constraint determination. Looks like back when I wrote this I made some gross assumptions about certain things. In particular, the problem here was that the search added an additional "one" height, so that needs to be accounted for after we removed the "doubling" code. * tests * fix tests * reorganize tests * clippy * fix cross tests not working * fix builds for android
228 lines
5.9 KiB
TOML
228 lines
5.9 KiB
TOML
[package]
|
|
name = "bottom"
|
|
version = "0.9.6"
|
|
authors = ["Clement Tsang <cjhtsang@uwaterloo.ca>"]
|
|
edition = "2021"
|
|
repository = "https://github.com/ClementTsang/bottom"
|
|
keywords = ["cross-platform", "monitoring", "cli", "top", "tui"]
|
|
license = "MIT"
|
|
categories = ["command-line-utilities", "visualization"]
|
|
description = "A customizable cross-platform graphical process/system monitor for the terminal. Supports Linux, macOS, and Windows."
|
|
documentation = "https://clementtsang.github.io/bottom/stable"
|
|
readme = "README.md"
|
|
default-run = "btm"
|
|
build = "build.rs"
|
|
exclude = [
|
|
".cargo-husky/",
|
|
".github/",
|
|
"assets/",
|
|
"desktop/",
|
|
"docs/",
|
|
"sample_configs/",
|
|
"scripts/",
|
|
".all-contributorsrc",
|
|
".cirrus.yml",
|
|
".gitignore",
|
|
".markdownlint.json",
|
|
"CHANGELOG.md",
|
|
"clippy.toml",
|
|
"codecov.yml",
|
|
"CONTRIBUTING.md",
|
|
"Cross.toml",
|
|
"rustfmt.toml",
|
|
]
|
|
rust-version = "1.70.0"
|
|
|
|
[[bin]]
|
|
name = "btm"
|
|
path = "src/bin/main.rs"
|
|
doc = false
|
|
|
|
[lib]
|
|
test = true
|
|
doctest = true
|
|
doc = true
|
|
|
|
[profile.dev.package."*"]
|
|
opt-level = 3 # Compile dependencies with optimizations on even in debug mode.
|
|
|
|
[profile.no-opt]
|
|
inherits = "dev"
|
|
opt-level = 0
|
|
|
|
[profile.release]
|
|
debug = 0
|
|
strip = "symbols"
|
|
lto = true
|
|
opt-level = 3
|
|
codegen-units = 1
|
|
|
|
[profile.profiling]
|
|
inherits = "release"
|
|
debug = true
|
|
strip = false
|
|
|
|
[features]
|
|
battery = ["starship-battery"]
|
|
nvidia = ["nvml-wrapper"]
|
|
gpu = ["nvidia"]
|
|
zfs = []
|
|
logging = ["fern", "log", "time/local-offset"]
|
|
deploy = ["battery", "gpu", "zfs"]
|
|
default = ["deploy"]
|
|
|
|
[dependencies]
|
|
anyhow = "1.0.75"
|
|
backtrace = "0.3.69"
|
|
cfg-if = "1.0.0"
|
|
clap = { version = "4.4.14", features = ["default", "cargo", "wrap_help"] }
|
|
concat-string = "1.0.1"
|
|
crossterm = "0.27.0"
|
|
ctrlc = { version = "3.4.1", features = ["termination"] }
|
|
# dhat = "0.3.2"
|
|
dirs = "5.0.1"
|
|
fern = { version = "0.6.2", optional = true }
|
|
hashbrown = "0.14.3"
|
|
humantime = "2.1.0"
|
|
indexmap = "2.1.0"
|
|
itertools = "0.12.0"
|
|
kstring = { version = "2.0.0", features = ["arc"] }
|
|
log = { version = "0.4.20", optional = true }
|
|
nvml-wrapper = { version = "0.9.0", optional = true, features = [
|
|
"legacy-functions",
|
|
] }
|
|
regex = "1.10.2"
|
|
serde = { version = "=1.0.193", features = ["derive"] }
|
|
starship-battery = { version = "0.8.2", optional = true }
|
|
sysinfo = "=0.29.11"
|
|
thiserror = "1.0.52"
|
|
time = { version = "0.3.30", features = ["formatting", "macros"] }
|
|
toml_edit = { version = "0.21.0", features = ["serde"] }
|
|
tui = { version = "0.25.0", package = "ratatui" }
|
|
unicode-segmentation = "1.10.1"
|
|
unicode-width = "0.1.11"
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2.150"
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
rustix = { version = "0.38.25", features = ["fs", "param", "process"] }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
core-foundation = "0.9.3"
|
|
mach2 = "0.4.1"
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
windows = { version = "0.52.0", features = [
|
|
"Win32_Foundation",
|
|
"Win32_Security",
|
|
"Win32_Storage_FileSystem",
|
|
"Win32_System_IO",
|
|
"Win32_System_Ioctl",
|
|
"Win32_System_ProcessStatus",
|
|
"Win32_System_Threading",
|
|
] }
|
|
|
|
[target.'cfg(target_os = "freebsd")'.dependencies]
|
|
serde_json = { version = "1.0.108" }
|
|
sysctl = { version = "0.5.5" }
|
|
filedescriptor = "0.8.2"
|
|
|
|
[dev-dependencies]
|
|
assert_cmd = "2.0.12"
|
|
cargo-husky = { version = "1.5.0", default-features = false, features = [
|
|
"user-hooks",
|
|
] }
|
|
predicates = "3.0.3"
|
|
|
|
[target.'cfg(all(target_arch = "x86_64", target_os = "linux"))'.dev-dependencies]
|
|
portable-pty = "0.8.1"
|
|
|
|
[build-dependencies]
|
|
clap = { version = "4.4.14", features = ["default", "cargo", "wrap_help"] }
|
|
clap_complete = "4.4.6"
|
|
clap_complete_fig = "4.4.2"
|
|
clap_complete_nushell = "4.4.2"
|
|
clap_mangen = "0.2.16"
|
|
|
|
[package.metadata.deb]
|
|
section = "utility"
|
|
assets = [
|
|
[
|
|
"target/release/btm",
|
|
"usr/bin/",
|
|
"755",
|
|
],
|
|
[
|
|
"LICENSE",
|
|
"usr/share/doc/btm/",
|
|
"644",
|
|
],
|
|
[
|
|
"manpage/btm.1.gz",
|
|
"usr/share/man/man1/btm.1.gz",
|
|
"644",
|
|
],
|
|
[
|
|
"completion/btm.bash",
|
|
"usr/share/bash-completion/completions/btm",
|
|
"644",
|
|
],
|
|
[
|
|
"completion/btm.fish",
|
|
"usr/share/fish/vendor_completions.d/btm.fish",
|
|
"644",
|
|
],
|
|
[
|
|
"completion/_btm",
|
|
"usr/share/zsh/vendor-completions/",
|
|
"644",
|
|
],
|
|
[
|
|
"desktop/bottom.desktop",
|
|
"usr/share/applications/bottom.desktop",
|
|
"644",
|
|
],
|
|
]
|
|
extended-description = """
|
|
|
|
By default, bottom will look for a config file in ~/.config/bottom/bottom.toml. A config file can be specified \
|
|
using `-C`. If a config file does not exist at the specified or default location, a default one will be created \
|
|
for the user there.
|
|
"""
|
|
|
|
[package.metadata.deb.variants.arm64]
|
|
depends = "libc6:arm64 (>= 2.28)"
|
|
|
|
[package.metadata.deb.variants.armhf]
|
|
depends = "libc6:armhf (>= 2.28)"
|
|
|
|
[package.metadata.wix]
|
|
output = "bottom_x86_64_installer.msi"
|
|
|
|
[package.metadata.generate-rpm]
|
|
assets = [
|
|
{ source = "target/release/btm", dest = "/usr/bin/", mode = "755" },
|
|
{ source = "LICENSE", dest = "/usr/share/doc/btm/", mode = "644" },
|
|
{ source = "manpage/btm.1.gz", dest = "/usr/share/man/man1/btm.1.gz", mode = "644", doc = true },
|
|
{ source = "completion/btm.bash", dest = "/usr/share/bash-completion/completions/btm", mode = "644" },
|
|
{ source = "completion/btm.fish", dest = "/usr/share/fish/vendor_completions.d/btm.fish", mode = "644" },
|
|
{ source = "completion/_btm", dest = "/usr/share/zsh/vendor-completions/", mode = "644" },
|
|
{ source = "desktop/bottom.desktop", dest = "/usr/share/applications/bottom.desktop", mode = "644" },
|
|
]
|
|
|
|
# Activate whenever we bump the unofficial MSRV to 1.74, I guess?
|
|
# [lints.rust]
|
|
# rust_2018_idioms = "deny"
|
|
# missing_docs = "deny"
|
|
# unused_extern_crates = "deny"
|
|
|
|
# [lints.rustdoc]
|
|
# broken_intra_doc_links = "deny"
|
|
# missing_crate_level_docs = "deny"
|
|
|
|
# [lints.clippy]
|
|
# todo = "deny"
|
|
# unimplemented = "deny"
|
|
# missing_safety_doc = "deny"
|