Skip to content

Core concepts ​

This page explains the handful of terms the rest of the documentation relies on: sessions, clients, panes, workspaces, layouts, and profiles.

Sessions and clients ​

A session is where your terminals live. It runs as a background server that owns every program in its panes. The rozi window you look at is a client: it displays a session and sends your keystrokes to it.

Because the two are separate, closing the client does not stop a named session. Your shells, editors, and builds keep running, and you can attach to them again later, from the same terminal or another one.

Two rozi windows attached to one session named dev, whose first workspace shows three panes running nvim, cargo watch, and claude

A client does not have to show a session. A bare rozi opens the session picker without starting anything. If you dismiss the picker, rozi stays open with no session attached until you choose one.

Panes, workspaces, and layouts ​

A pane is one terminal. Opening a new pane splits the focused one, unless you ask for a floating pane.

A workspace is a group of panes, like a virtual desktop. Each session has nine workspaces, each with its own layout and an optional name. Switching workspaces changes what you see, not which session you are in.

A layout decides how tiled panes share a workspace, such as a spiral of splits or equal columns. Changing the layout never restarts the programs inside panes. Floating and fullscreen are states a single pane can take on top of the tiled arrangement.

See Panes and layouts.

Named and temporary sessions ​

A named session is the durable choice. It keeps running after the last client detaches and stays available until you kill it. Create one from the picker by typing a name and pressing Ctrl+N, or from a shell:

bash
rozi sessions new dev

Attach to it again with:

bash
rozi sessions attach dev

A temporary session has no name you chose. Start one from the picker with Enter while the list is empty, or with Ctrl+T once it shows sessions. After its last client leaves, it waits about 45 seconds so a crashed client can reconnect, then stops. Do not rely on that window to keep work.

See Sessions for naming, recovery, and shutdown.

Attach, detach, and kill ​

  • Attaching connects a client to a running session.
  • Detaching closes the client but leaves a named session running. The default key is Ctrl+A, then d.
  • Killing a session stops it and every program in its panes.

Detach when you plan to return. Kill only when the work is finished.

Sessions and profiles ​

A session holds live programs. A profile is a reusable recipe for starting panes, commands, working directories, and layouts.

Reattaching to a named session brings back the same running programs. Launching a profile starts new ones. Profiles make a setup repeatable, but they do not replace a live named session.

See Profiles.

The prefix and the modifier ​

Most commands start with the prefix, Ctrl+A by default: press it, release it, then press a command key. For example, Ctrl+A, then Enter opens another pane.

Most command keys also work with a held modifier, Alt by default, so Alt+Enter does the same thing. The prefix works in every terminal and leaves ordinary typing to the focused program. Both can be rebound.

See Keybindings.

Shared and per-client state ​

Several clients can attach to one session at once. They share the panes and the layout, and one client at a time controls layout changes. Each client keeps its own focused pane, active workspace, scroll position, open overlays, sidebar, and theme.

See Shared sessions.

MPL-2.0