Using it
Settings and config file
The settings page#
s (or Settings in the plottypus ≡ menu) opens settings. It replaces the dashboard entirely rather than floating over it; sampling carries on underneath.
plottypus › settings esc close
▌ general │ ▌ sample every ‹ 500 ms ›
appearance│ layout auto
panels │ network units bytes/s
processes │ battery saver auto
keys │ preset custom
about │
How often plottypus samples. Faster is smoother; slower uses less power.
↑↓ move ←→ change tab section / search esc close↑↓orjkmove;←→,hl,enterorspacechange the value;tabswitches section./searches every section by name or description.escclears the search; a secondesccloses.- Click a section, click a value to cycle it, scroll to move.
- appearance previews every theme with its own colours; click one to use it. about shows the version, the config path and your licence tier.
Changes apply at once and are saved a second later.
Where the file lives#
$XDG_CONFIG_HOME/plottypus/config.toml
~/.config/plottypus/config.toml # when XDG_CONFIG_HOME is not set--config <path> reads a different file for one run. The file does not exist until you change something.
How it is saved#
- Only when you change something, one second after the last change, and again on quit or on
HUP,TERMorINT. - Only the keys you changed. Your comments, your ordering and keys plottypus does not know are left exactly as they were.
- Atomically: a temporary file, then a rename, so a crash never leaves half a file. If
config.tomlis a symlink (a dotfiles repo, say), the write goes to its target and the link survives. - A read-only file is never written. The footer says
config is read-only (not saved)once and the session carries on. - A file that does not parse is copied to
config.toml.bak, left alone, and the session runs on defaults. - A value of the wrong type or out of range falls back to its default on its own and is named in the footer; the rest of the file still applies.
Every key#
The defaults, as a complete file:
version = 1
interval_ms = 500 # 250, 500, 1000, 2000 or 5000
surface = "auto" # auto | work | glance
theme = "auto" # auto or a theme name
icons = "auto" # auto | unicode | nerd | none
keymap = "default" # default (same as plottypus) | htop | btop
low_power = "auto" # auto | on | off
zen = false # hide the footer and the scale labels
glass = "auto" # auto | on | off: clear backgrounds for see-through windows
extra_contrast = false
[panels]
gpu = true
net = true
disk = false
fans = true # the heat box: fans and temperatures
power = true # battery, or system watts on a desktop
cores = true # per-core bars in the cpu box
[proc]
tree = false
threads = false # add a thread-count column
ratio = 55 # process pane width, % (35 to 72); dragging the split saves it
cpu_unit = "core" # core (100% = one core) | total (100% = the whole chip)
[proc.sort]
column = "cpu" # cpu | mem | pid | name | user | state | gpu | rss | threads
# | power | read | write | wakeups | started
desc = true # biggest first
[units]
net_bits = false # true: network in bits/s instead of bytes/s| Key | Settings page | What it does |
|---|---|---|
| interval_ms | general → sample every | How often plottypus samples. [ and ] step it live. |
| surface | general → layout | work or glance at start; auto picks by window size. |
| units.net_bits | general → network units | Bytes per second (like Finder) or bits per second (like your ISP). |
| low_power | general → battery saver | Saved, but has no effect in 1.0.0: sampling does not slow down on battery yet. |
| — | general → preset | Applies one of the five presets; custom when your settings match none. |
| theme | appearance → theme | See Themes and glass. |
| icons | appearance → icons | Glyphs beside each box title. nerd needs a Nerd Font; none is plain ASCII. |
| glass | appearance → glass | For translucent windows: no cell backgrounds, brighter frames. |
| extra_contrast | appearance → extra contrast | Brighter dim text, hints and frames over a busy wallpaper. |
| zen | appearance → zen mode | Graphs only. Z toggles it. |
| panels.* | panels | Show or hide each box. A box for hardware your Mac lacks stays hidden either way. |
| proc.sort.column, proc.sort.desc | processes → sort by, biggest first | The process order. Clicking a header does the same. |
| proc.tree | processes → tree view | Nest each process under its parent. |
| proc.threads | processes → threads column | Add a thread-count column. |
| proc.cpu_unit | processes → cpu percent | core: 100% is one core. total: 100% is the whole chip. |
| proc.ratio | processes → list width | Process pane width in percent, in steps of 5. |
| keymap | keys → key profile | plottypus, htop or btop. See Keys. |
-i on the command line accepts anything from 100 ms to 60 s (250, 250ms, 1s, 1.5s) for that run. The config file and the settings page stick to the five steps above. Command-line flags (-i, --theme, --surface) apply to that run only; saving other changes does not write them into the file.
Environment variables#
These win over the file.
| Variable | Effect |
|---|---|
PLOTTYPUS_THEME=<name> |
Use that theme. auto reads the terminal. |
PLOTTYPUS_ICONS=nerd |
Nerd Font icons in panel titles (none for plain ASCII). |
PLOTTYPUS_KEYS=htop |
Key profile: plottypus, htop or btop. |
PLOTTYPUS_GLASS=on |
Glass: on, off, auto, or an opacity such as 0.8. |
PLOTTYPUS_COLORS=256 |
Force colour depth: truecolor, 256, 16 or none. |
NO_COLOR=1 |
Monotreme with attributes only. A PLOTTYPUS_THEME name overrides it. |
XDG_CONFIG_HOME |
Where plottypus/config.toml and license.toml live. |
Old config files#
Files from before v1 (flat keys like show_gpu, sort, proc_ratio) still load unchanged. Each old key is moved to its v1 name the first time you change that setting, one key at a time, so nothing is rewritten behind your back.
plottypus --print-config prints the effective preferences after flags and exits. In 1.0.0 it prints a short summary using those older flat names (interval_ms, surface, theme, mouse, show_gpu, show_net, show_disk, show_fans, show_cores, show_threads, show_tree, sort, proc_ratio), not the full v1 file above. Anything plottypus writes to config.toml uses the v1 names.