# Keys

Canonical: https://plottypus.com/docs/keys

Last updated: 2026-09-23

> Every key in plottypus 1.0.0 for the default, htop and btop profiles, plus the mouse. Taken from the keymap source, the same table the in-app help reads.

These tables come from `crates/plottypus/src/keymap.rs`, the one source the in-app help (`?`) and the README are generated from. Two rules hold in every profile:

- `ctrl-c` quits from anywhere.
- `q` never quits from inside an overlay (help, settings, the details card, a confirmation, the menu). There it closes the overlay.

## Choosing a profile

Three profiles: `plottypus` (the default), `htop` and `btop`. Pick one in settings → keys, set `keymap = "htop"` in the [config file](https://plottypus.com/docs/settings), or set it for one run:

```sh
PLOTTYPUS_KEYS=btop plottypus
```

The environment variable wins over the config file. Only the home-screen keys differ between profiles; the details card, the filter and the settings page work the same in all three.

## Default profile

| Key | Where | Action |
| --- | --- | --- |
| `s` | general | settings |
| `v` | general | cycle work / glance |
| `T` | general | cycle theme |
| `Z` | general | zen mode |
| `p` | general | pause / resume |
| `[` `-` | general | sample slower |
| `]` `+` `=` | general | sample faster |
| `?` | general | help |
| `m` | general | main menu |
| `z` | general | zoom graphs |
| `q` `ctrl-c` | general | quit |
| `esc` | general | close / clear filter / back / menu |
| `1` | general | preset: silicon |
| `2` | general | preset: ml |
| `3` | general | preset: laptop |
| `4` | general | preset: sre |
| `5` | general | preset: ricer |
| `→` `tab` | navigate | next box |
| `←` `shift-tab` | navigate | previous box |
| `e` | navigate | expand / collapse box |
| `g` `home` | navigate | top of list |
| `G` `end` | navigate | bottom of list |
| `enter` | navigate | details / expand focused box |
| `j` `↓` | navigate | move down |
| `k` `↑` | navigate | move up |
| `pgdn` | navigate | page down |
| `pgup` | navigate | page up |
| `f` `/` | processes | filter processes |
| `t` | processes | process tree |
| `o` `>` | processes | next sort column |
| `<` | processes | previous sort column |
| `r` | processes | reverse sort |
| `x` | processes | quit process (TERM) |
| `K` | processes | force quit (KILL) |
| `X` | processes | send signal… |
| `delete` | processes | clear filter |
| `esc` `enter` `q` | process details | close details |
| `j` `↓` | process details | next process |
| `k` `↑` | process details | previous process |
| `x` | process details | quit (TERM) |
| `K` | process details | force quit (KILL) |
| `i` | process details | interrupt (INT) |
| `+` | process details | lower priority (nice +) |
| `-` | process details | raise priority (nice -) |
| `b` | process details | background QoS on/off |
| `y` | process details | copy pid |
| `Y` | process details | copy command |
| `X` | process details | send signal… |
| `esc` | while filtering | clear, then leave |
| `enter` | while filtering | open the selection |
| `↓` | while filtering | move down, keep typing |
| `↑` | while filtering | move up, keep typing |
| `delete` | while filtering | clear filter |
| `esc` | in settings | clear search, then close |
| `q` `s` | in settings | close settings |
| `j` `↓` | in settings | next setting |
| `k` `↑` | in settings | previous setting |
| `l` `→` `enter` `space` | in settings | change value |
| `h` `←` | in settings | change value back |
| `tab` | in settings | next section |
| `shift-tab` | in settings | previous section |
| `/` | in settings | search settings |

`[` and `]` step the interval through 250 ms, 500 ms, 1 s, 2 s and 5 s. `z` steps the graph window through 5 min, 15 min, 1 min and the live 2 min.

## htop profile

Home-screen keys with `keymap = "htop"`. Everything else is as in the default profile.

| Key | Where | Action |
| --- | --- | --- |
| `F1` `?` | general | help |
| `F2` `S` | general | settings |
| `F10` `q` `ctrl-c` | general | quit |
| `Z` | general | pause / resume |
| `v` | general | cycle work / glance |
| `[` `-` | general | sample slower |
| `]` `+` `=` | general | sample faster |
| `m` | general | main menu |
| `z` | general | zoom graphs |
| `esc` | general | close / clear filter / back / menu |
| `1`–`5` | general | presets |
| `→` `tab` | navigate | next box |
| `←` `shift-tab` | navigate | previous box |
| `e` | navigate | expand / collapse box |
| `enter` | navigate | details / expand focused box |
| `j` `↓` | navigate | move down |
| `k` `↑` | navigate | move up |
| `pgdn` | navigate | page down |
| `pgup` | navigate | page up |
| `home` | navigate | top of list |
| `end` | navigate | bottom of list |
| `F3` `F4` `/` | processes | filter processes |
| `F5` `t` | processes | process tree |
| `F6` | processes | cycle sort column |
| `P` | processes | sort by cpu |
| `M` | processes | sort by memory |
| `N` | processes | sort by pid |
| `I` | processes | invert sort |
| `F7` | processes | raise priority |
| `F8` | processes | lower priority |
| `F9` `x` | processes | quit process (TERM) |
| `K` | processes | force quit (KILL) |
| `delete` | processes | clear filter |

Two htop keys are bound but do nothing yet in 1.0.0: `T` (sort by time) and `space` (tag process). Pressing them says `not available yet` in the footer. There is no theme-cycle or zen key in this profile; use settings.

## btop profile

Home-screen keys with `keymap = "btop"`. Everything else is as in the default profile.

| Key | Where | Action |
| --- | --- | --- |
| `o` `s` | general | settings |
| `v` | general | cycle work / glance |
| `T` | general | cycle theme |
| `Z` | general | zen mode |
| `p` | general | pause / resume |
| `[` `-` | general | sample slower |
| `]` `+` `=` | general | sample faster |
| `?` | general | help |
| `m` | general | main menu |
| `z` | general | zoom graphs |
| `q` `ctrl-c` | general | quit |
| `esc` | general | close / clear filter / back / menu |
| `1`–`5` | general | presets |
| `g` `home` | navigate | top of list |
| `G` `end` | navigate | bottom of list |
| `tab` | navigate | next box |
| `shift-tab` | navigate | previous box |
| `enter` | navigate | details / expand focused box |
| `j` `↓` | navigate | move down |
| `k` `↑` | navigate | move up |
| `pgdn` | navigate | page down |
| `pgup` | navigate | page up |
| `f` `/` | processes | filter processes |
| `e` `t` | processes | process tree |
| `←` | processes | previous sort column |
| `→` | processes | next sort column |
| `r` | processes | reverse sort |
| `x` | processes | quit process (TERM) |
| `K` | processes | force quit (KILL) |
| `delete` | processes | clear filter |

In the btop profile `←`/`→` sort and `e` is the tree, so boxes are expanded with `enter` and walked with `tab`.

## Overlays

These are the same in every profile.

| Where | Keys |
| --- | --- |
| Main menu (`m`, or click `plottypus ≡`) | `j`/`k`, `↓`/`↑`, `tab` move; `enter`, `space`, `l`, `→` open; `s` settings, `t` themes, `a` about; `esc`, `m`, `q` close |
| Help (`?`) | `j`/`k`, `↓`/`↑` scroll; `pgdn`/`space`, `pgup` page; `g`/`home`, `G`/`end`; `?`, `q`, `esc` close |
| Confirmation (after `x` or `K`) | `y` or `enter` sends; `n`, `esc` or `q` cancels |
| Signal picker (`X`) | `j`/`k`, `↓`/`↑` pick; `enter` sends; `n`, `esc`, `q` or `X` closes |
| Settings search (`/` in settings) | type to search; `↑`/`↓` move; `←`/`→` change the value; `esc` clears |

`esc` on the plain home screen, with nothing to close, opens the main menu.

## Mouse

On unless you start with `--no-mouse`.

- **Click** a process to select it; **double-click** (or `enter`) opens its details. Clicks land on the row under the pointer even when the table is scrolled.
- **Click a column header** to sort by it; click it again to reverse.
- **Scroll** over the process table to move the list without moving the selection. Scrolling elsewhere does nothing.
- Every hint in the footer (`? help`, `q quit`, `x kill`, `y yes` / `n cancel` …) is a button, and so are the actions in the details card.
- Click `plottypus ≡` for the main menu. Click a `Busy:` verdict in the footer to select that process.
- Click a panel to focus it, its `[↗]` corner to expand it, `[×]` to close. Drag the gutter to resize the process column.
- In settings, click a section, click a value to cycle it, scroll to move.
