Skip to content

The Terminal Surface

Conductor Terminal registers two kinds of host.

Window → Tools → Terminal contains up to four numbered terminal tabs. They are ordinary Unreal dockable tabs — drag them into a layout, float them, dock them beside the Output Log, whatever suits. Each tab keeps its own shell profile, its own sessions and its own split layout.

Four is a hard cap.

Alt+F2 toggles a terminal hosted in the editor’s status-bar panel drawer. It slides up over the bottom of the editor and dismisses with the same shortcut — handy for a quick command without disturbing your layout.

The drawer is a host in its own right: it has its own persisted session record, separate from the four numbered tabs.

The plugin also surfaces Epic’s ushell CLI as its own top-level entry under Window → Tools → ushell, for the times you want Epic’s own project tooling rather than a general shell.

Above each terminal surface sit the native controls: the session/workspace picker, the split and close buttons, the pop-out button, the settings shortcut, and the per-pane tint swatch.

If you are putting two terminals side by side and want every pixel for text, turn Show Top Bars off in settings. The launch-note banner and the session controls disappear with them.

Each pane has a small colour swatch in its top-right corner. Tinting a pane is the fastest way to tell two shells apart at a glance — build in amber, agent in green, logs in slate.

A few things worth knowing about how tint works:

  • Alpha is the tint strength, not opacity. At A = 0 the pane keeps its stock background; the higher the alpha, the more of the colour blends in.
  • Cells the shell has explicitly coloured keep their own colours. Tinting the pane will not wash out your ls output or your agent’s syntax highlighting.
  • The per-pane choice persists across editor restarts.
  • The Default Terminal Tint setting seeds new panes only. Changing it never repaints panes that already exist. The factory default is #1E2022.

There is exactly one renderer: a native Slate renderer driven by a real ConPTY. There is no webview, no fallback path, and no toggle — which is why it starts instantly and costs you nothing in editor memory.

ANSI / VT sequences Full colour, attributes, cursor control, scroll regions.
Alternate screen Full-screen TUI apps (vim, htop, lazygit, agent TUIs) work correctly.
Kitty keyboard protocol CSI-u encoding for disambiguated keys, so modern agent CLIs get the key events they expect.
Inline graphics Sixel, iTerm2 OSC 1337 and Kitty APC — see Inline Graphics.
Scrollback 5,000 lines per pane.
Fonts A curated monospace list with automatic fallback — see below.

Only monospace faces are offered, on purpose: a proportional font would break column alignment, because the renderer derives one cell width from the glyph advance.

Auto picks the best installed option in this order:

  1. Cascadia Mono (Windows 11 / Windows Terminal’s default)
  2. Consolas
  3. Courier New
  4. Droid Sans Mono (bundled with the engine — always available)

Any explicit choice is existence-checked at render time and falls back to the bundled Droid Sans Mono if it is not installed, so the terminal can never end up with a missing face.

Font size can either track the editor’s application scale, or be pinned — see Settings → Font. Ctrl+scroll zooms a pane for the session only and does not change the saved value; Ctrl+0 returns to the size the pane opened at.