# Command-line Options

The following options can be provided to bottom in the command line to change the behaviour of the program. You can also
see information on these options by running `btm -h`, or run `btm --help` to display more detailed information on each option:

## General Options

| Option                              | Behaviour                                                  |
| ----------------------------------- | ---------------------------------------------------------- |
| `--autohide_time`                   | Temporarily shows the time scale in graphs.                |
| `-b`, `--basic`                     | Hides graphs and uses a more basic look.                   |
| `-C`, `--config_location <PATH>`    | Sets the location of the config file.                      |
| `-t`, `--default_time_value <TIME>` | Default time value for graphs.                             |
| `--default_widget_count <N>`        | Sets the N'th selected widget type as the default.         |
| `--default_widget_type <WIDGET>`    | Sets the default widget type. Use --help for more info.    |
| `--disable_click`                   | Disables mouse clicks.                                     |
| `--disable_keys`                    | Disables keyboard shortcuts, INCLUDING the ones that stop  |
|                                     | bottom.                                                    |
| `-m`, `--dot_marker`                | Uses a dot marker for graphs.                              |
| `-e`, `--expanded`                  | Expand the default widget upon starting the app.           |
| `--hide_time`                       | Hides the time scale from being shown.                     |
| `-r`, `--rate <TIME>`               | Sets how often data is refreshed.                          |
| `--retention <TIME>`                | How far back data will be stored up to.                    |
| `--show_table_scroll_position`      | Shows the list scroll position tracker in the widget title |
|                                     | for table widgets.                                         |
| `-d`, `--time_delta <TIME>`         | The amount of time changed upon zooming.                   |

## Process Options

| Option                      | Behaviour                                                                              |
| --------------------------- | -------------------------------------------------------------------------------------- |
| `-S, --case_sensitive`      | Enables case sensitivity by default when searching.                                    |
| `-u, --current_usage`       | Calculates process CPU usage as a percentage of current usage rather than total usage. |
| `--disable_advanced_kill`   | Hides additional stopping options on Unix-like systems.                                |
| `--read_only`               | Prevents performing any actions that affect the system (e.g. stopping processes).      |
| `--get_threads`             | Also gather process thread information.                                                |
| `-g, --group_processes`     | Groups processes with the same name by default. No effect if `--tree` is set.          |
| `--hide_k_threads`          | Hide kernel threads from being shown.                                                  |
| `--process_memory_as_value` | Defaults to showing process memory usage by value.                                     |
| `--process_command`         | Shows the full command name instead of the process name by default.                    |
| `-R, --regex`               | Enables regex by default while searching.                                              |
| `-T, --tree`                | Makes the process widget use tree mode by default.                                     |
| `--tree_collapse`           | Collapse the process tree by default.                                                  |
| `-n, --unnormalized_cpu`    | Show process CPU% usage without averaging over the number of CPU cores.                |
| `-W, --whole_word`          | Enables whole-word matching by default while searching.                                |

## Temperature Options

| Option             | Behaviour                                     |
| ------------------ | --------------------------------------------- |
| `-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.           |

## CPU Options

| Option                | Behaviour                                         |
| --------------------- | ------------------------------------------------- |
| `--cpu_left_legend`   | Puts the CPU chart legend on the left side.       |
| `--default_cpu_entry` | Sets which CPU entry type is selected by default. |
| `-a, --hide_avg_cpu`  | Hides the average CPU usage entry.                |

## Memory Options

| Option                       | Behaviour                                                 |
| ---------------------------- | --------------------------------------------------------- |
| `--memory_legend <POSITION>` | Where to place the legend for the memory chart widget.    |
| `--enable_cache_memory`      | Enable collecting and displaying cache and buffer memory. |
| `--free_arc`                 | Subtract ARC memory that can be freed from memory usage.  |
| `--short_gpu_names`          | Use short GPU names in the memory widget.                 |

## Network Options

| Option                        | Behaviour                                                      |
| ----------------------------- | -------------------------------------------------------------- |
| `--network_legend <POSITION>` | Where to place the legend for the network chart widget.        |
| `--network_use_bytes`         | Displays the network widget using bytes.                       |
| `--network_use_binary_prefix` | Displays the network widget with binary prefixes.              |
| `--network_use_log`           | Displays the network widget with a log scale.                  |
| `--show_packets`              | Displays packet rate and average packet size info.             |
| `--use_old_network_legend`    | Uses a separate network legend.                                |
| `--network_start_zeroed`      | Show total network usage from app startup rather than on boot. |

## Battery Options

| Option      | Behaviour                                       |
| ----------- | ----------------------------------------------- |
| `--battery` | Shows the battery widget in non-custom layouts. |

## GPU Options

| Option          | Behaviour                                                         |
| --------------- | ----------------------------------------------------------------- |
| `--disable_gpu` | Disable collecting and displaying NVIDIA and AMD GPU information. |

## Style Options

| Option             | Behaviour                                                          |
| ------------------ | ------------------------------------------------------------------ |
| `--theme <SCHEME>` | Use a built-in colour theme, use '--help' for info on the colours. |

## Other Options

| Option            | Behaviour                                         |
| ----------------- | ------------------------------------------------- |
| `-h`, `--help`    | Prints help info (for more details use `--help`.) |
| `-V`, `--version` | Prints version information.                       |
