mpmux by Mighty Painting
~/mpmux/docs ❯ less reference/keys/contents ↓

Keys and gestures#

Every shortcut mpmux handles itself. All other keys go to the program in the active pane.

On macOS the configurable shortcuts use Cmd (see the last column); the fixed ones accept Cmd or Ctrl where noted. Change the configurable ones in the [keybindings] section of the config file.

Window, tabs, and panes#

Action Linux, Android macOS Config name
Command palette Ctrl+Shift+P Cmd+Shift+P command-palette
New tab Ctrl+Shift+T Cmd+Shift+T new-tab
Split right Ctrl+Shift+O Cmd+Shift+O split-pane-right
Split down Ctrl+Shift+E Cmd+Shift+E split-pane-down
Focus the pane to the left / right / above / below Ctrl+Alt+Arrow Cmd+Alt+Arrow focus-split-left, -right, -up, -down
Maximize the active pane, or restore Ctrl+Shift+Return Cmd+Shift+Return toggle-pane-maximize
Overview Ctrl+Alt+O Cmd+Alt+O toggle-overview
Previous prompt or mark Ctrl+Shift+PageUp Cmd+Up jump-to-previous-prompt
Next prompt or mark Ctrl+Shift+PageDown Cmd+Down jump-to-next-prompt
Message sidebar Ctrl+Shift+F12 Cmd+Shift+M toggle-message-sidebar

Fixed shortcuts:

Action Keys
Copy the selection Ctrl+Shift+C; on macOS Cmd+C
Paste Ctrl+Shift+V; on macOS Cmd+V
Larger text Ctrl+= or Ctrl+Numpad +
Smaller text Ctrl+- or Ctrl+Numpad -
Pie menu Ctrl+Alt+X; on macOS Cmd+Alt+X

Tabs have no switching shortcut yet: click the tab, or use the command palette. Close a pane by ending its shell (exit, Ctrl+D).

Set enable-host-shortcuts = false in [host-ui] to send the configurable shortcuts to the terminal instead. Copy, paste, text size, and the pie menu (Ctrl+Alt+X, on macOS Cmd+Alt+X) keep working, so the command palette stays one step away under More in the pie menu.

Mouse#

Action How
Select text Drag. Hold Shift in programs that use the mouse themselves (editors, htop).
Select past the edge Drag beyond the top or bottom: the pane scrolls.
Scroll Wheel or touchpad, in the direction your desktop sets (natural or traditional). Speed: mouse-scroll-multiplier-* in [host-ui]; mouse-scroll-invert = true turns it around.
Resize panes Drag the line between two panes.
Insert file paths Drop files from the file manager onto a pane.
Look at an image closer Click an inline image; Escape closes it.
Scroll map Drag in it to move block by block; Shift+drag scrolls freely.

Command palette#

Key Action
Type Filter the actions
Up / Down Move the selection
Enter Run the selected action
Escape Close

Overview#

Key Action
Type Search names, titles, and screen text
1 – 9 Open one of the first nine cards (while the search box is not focused)
Arrow keys Move the selection
Enter Open the selected card
Shift+F10 The selected card's pie menu
Ctrl+= / Ctrl+- Zoom in / out
Escape Close the overview
Ctrl+scroll, pinch Zoom
Scroll, drag the canvas Pan
Click or drag the minimap Jump

The Viewer#

While the Viewer has the keys (click or tap it):

Key Action
← / → The previous or next object
Backspace Back, after a link in a document was followed
Ctrl + / Ctrl − Larger or smaller text, and page zoom (a pinch on touch screens)
Enter In the address field: load the address

Double-click (or double-tap) a picture, a document or a table to give it the whole window: the terminal and a split dock's second panel fold away. Double-click again to bring them back. When a script or a link brought the Viewer up (a todo's Show in the Viewer, a chart from an agent), closing that object (✕) returns to what the dock showed before: the todos, another panel, or no dock at all.

Side panels#

A script's side panel (the todos, the run monitor), while it has the keys:

Key Action
↑ / ↓ Move the selection
Enter Open the selected item
Ctrl + / Ctrl − Larger or smaller (a pinch on touch screens). Each panel keeps its own size, also side by side in a split dock; a new one starts at the size you gave one last

A panel you hide stays hidden while its script updates it (the run monitor reports each step); /todos-sidebar shows the todos again.

Each script's panel is its own: the dock menu (☰) lists them, and Split Panel there shows a second one below the first (beside it with the dock at the top or bottom), so the todos and the run monitor are on screen together. Drag the bar between them to share the room; ⌄ on the lower one folds it away again. The keys go to the half you last clicked or tapped.

A page in the Viewer (the Linux desktop) has its own menu on a right-click. A Wasm canvas takes the keys when you tap or click it, and gives them to its guest; tap the terminal to take them back.

Dialogs and pickers#

Key Action
Enter Confirm (the primary button)
Escape Cancel
Up / Down Move in a list
Tab Next field

Touch screens#

Action Gesture
Pie menu Touch and hold a pane
Command palette Swipe with two fingers
Open the overview Swipe up with three fingers
Close the overview Swipe down with three fingers
Scroll Drag with one finger
Zoom the overview Pinch
Larger or smaller Viewer or side panel Pinch on it
Viewer full screen, and back Double-tap a picture, document or table in it

In the pie menu, slide toward an entry and lift; lift in the middle to close it without a choice. The entries are listed in chapter 5.

The mpmux keyboard (Android)#

Esc, Tab, Ctrl, Alt, and the arrow keys. Ctrl and Alt stay pressed for the next key (Ctrl, then C sends Ctrl+C). The microphone key starts voice input. Choose the keyboard, hide it, or change its height under Keyboard in the pie menu.

Writing key names in the config#

A binding is modifiers and one key, joined with -: ctrl-shift-p, cmd-alt-left, alt-f5.

  • Modifiers: ctrl (control), shift, alt, cmd (logo, meta, super, command).
  • Keys: a–z, 0–9, f1–f12, up, down, left, right, pageup, pagedown, home, end, insert, delete, escape, tab, enter (return), comma, equals, minus, left-bracket, right-bracket.

mpmux reports a binding it cannot read when it loads the config, and keeps the default for it.