modisa.Documentation
Spaces, tabs & panes

DOCUMENTATION / Using modisa

Spaces, tabs & panes

How a session is organised, and how it adapts to small terminals.

The model

  • A session holds spaces; a space holds tabs; a tab is a tree of split panes.
  • Each pane is a real terminal: a shell, a command, or an agent.
  • The sidebar lists the agents in the current space, whoever needs you first: each agent with its logo in its brand colour and, under its name, the task its terminal title names.
  • The logos come from a small font modisa installs the first time it starts (in your user font folder), telling Ghostty, kitty and VS Code where to find it; restart the terminal once to see them. modisa logos says where they stand, modisa logos uninstall takes them out, and a terminal modisa doesn't recognise shows plain marks unless [sidebar] logos = "on".
  • The status row shows where the active space's focused pane's repository stands: its name, the branch (green when clean and in step with its upstream), ↑ commits to push, ↓ commits to pull (as of your last fetch: modisa never fetches), and ● files changed. It follows the pane when you cd; each part can be turned off in [git] or the settings page.
  • Drag the sidebar's edge to make it wider or narrower (20 to 48 columns, at most a third of the terminal); the width is saved as [sidebar] width, and [sidebar] agents can hand the agent list to a plugin such as radar.

Spaces

A space is a named group of tabs — one per project, say. Ctrl+B W creates one; it starts in the current space's working directory. Ctrl+B w, or a click on the space's name at the top left, lists them to switch between; right-click one there to rename or delete it (deleting asks first, and closes its panes). $ and & do the same for the current space. The last space can't be deleted.

Small terminals

The sidebar hides below 100 columns or 22 rows. If a split would get too small to use, the focused pane fills the space instead; widen the terminal and the splits come back. Tabs that don't fit scroll, keeping the active one visible.

Commands, keys, agents, settings…