id = "bottom"
name = "bottom"
homepage = "https://bottom.pages.dev/"
description = "A customizable cross-platform graphical process/system monitor for the terminal."
icon = "SimpleIcons:bottom"
executables = ["btm"]
[dotfiles]
paths = [
"[appData]/bottom/bottom.toml",
"~/.config/bottom/bottom.toml",
"%APPDATA%/bottom/bottom.toml",
]
secret = []
side_effect = false
[commands]
format = 1
label = "Monitor the system"
description = "Start bottom with common display and process options. Widget layout, colours and the rest of the options live in the config file."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "manual"
url = "https://bottom.pages.dev/nightly/configuration/command-line-options/"
revision = "nightly 2026-10-27"
evidence = """
| `-b`, `--basic` | Hides graphs and uses a more basic look. |
| `-C`, `--config_location <PATH>` | Sets the location of the config file. |
| `-r`, `--rate <TIME>` | Sets how often data is refreshed. |
| `-e`, `--expanded` | Expand the default widget upon starting the app. |
| `--default_widget_type <WIDGET>` | Sets the default widget type. Use --help for more info. |
| `-S, --case_sensitive` | Enables case sensitivity by default when searching. |
| `-g, --group_processes` | Groups processes with the same name by default. No effect if `--tree` is set. |
| `-R, --regex` | Enables regex by default while searching. |
| `-T, --tree` | Makes the process widget use tree mode by default. |
| `--read_only` | Prevents performing any actions that affect the system (e.g. stopping processes). |
| `-c, --celsius` | Use Celsius as the temperature unit. Default. |
| `-f, --fahrenheit` | Use Fahrenheit as the temperature unit. |
| `-k, --kelvin` | Use Kelvin as the temperature unit. |
"""
[[commands.field]]
id = "basic"
label = "Basic mode"
type = "boolean"
option = ["--basic", "-b"]
sources = ["help"]
[[commands.field]]
id = "expanded"
label = "Expand default widget"
type = "boolean"
option = ["--expanded", "-e"]
sources = ["help"]
[[commands.field]]
id = "config"
label = "Config file"
type = "path"
option = ["--config_location", "-C"]
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "rate"
label = "Refresh interval"
description = "For example 1s or 500ms."
type = "string"
option = ["--rate", "-r"]
sources = ["help"]
[[commands.field]]
id = "default_widget_type"
label = "Default widget"
type = "string"
option = ["--default_widget_type"]
suggestions = [{ value = "cpu", label = "CPU" }, { value = "mem", label = "Memory" }, { value = "net", label = "Network" }, { value = "proc", label = "Processes" }, { value = "temp", label = "Temperature" }, { value = "disk", label = "Disk" }]
sources = ["help"]
[[commands.field]]
id = "tree"
label = "Process tree"
type = "boolean"
option = ["--tree", "-T"]
sources = ["help"]
[[commands.field]]
id = "group"
label = "Group processes by name"
type = "boolean"
option = ["--group_processes", "-g"]
sources = ["help"]
[[commands.field]]
id = "regex"
label = "Regex search"
type = "boolean"
option = ["--regex", "-R"]
sources = ["help"]
[[commands.field]]
id = "case_sensitive"
label = "Case-sensitive search"
type = "boolean"
option = ["--case_sensitive", "-S"]
sources = ["help"]
[[commands.field]]
id = "read_only"
label = "Read only"
description = "Prevent actions that affect the system, such as stopping processes."
type = "boolean"
option = ["--read_only"]
sources = ["help"]
[[commands.task]]
id = "start"
label = "Start bottom"
fields = ["basic", "rate", "default_widget_type", "expanded"]
[[commands.task]]
id = "processes"
label = "Process-focused view"
set = { default_widget_type = ["proc"], expanded = [true] }
fields = ["default_widget_type", "expanded", "tree", "group", "regex", "read_only"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["basic", "expanded", "rate", "default_widget_type"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["tree", "group", "regex", "case_sensitive", "read_only", "config"]