User Guide
05.2 · Screen Recording

Starting and Stopping a Recording

All recording controls are wired to the same underlying service, so you can mix and match surfaces — start with a hotkey, pause via the control bar, stop with another hotkey.

Starting

SurfaceAction
Global hotkeyCtrl+Shift+R
Main toolbarClick the Recording button

Either action runs ToggleRecordingCommand. If nothing is recording, it starts a fullscreen recording with your current settings. If something is already recording, it stops.

Stopping

SurfaceAction
Global hotkeyCtrl+Shift+E
Control barClick Stop
Main toolbarClick the Recording button again

All three finalise the MP4 and close the control bar.

Pausing and Resuming

The control bar has a Pause / Resume toggle. Pausing freezes the elapsed timer and stops appending frames; resuming picks up where you left off in the same output file. There is no separate hotkey for pause — use the control bar.

State Pipeline

The recording service moves through a strict state machine:

Idle  →  Starting  →  Recording  ⇄  Paused  →  Stopping  →  Finalizing  →  Idle
StateMeaning
IdleNothing is recording
StartingEncoder is initialising
RecordingFrames are being written
PausedFrame writing is suspended; encoder stays warm
StoppingStop has been requested; last frames flushing
FinalizingMP4 muxer is closing the file

State transitions are atomic (guarded by Interlocked.CompareExchange). That means you can spam Ctrl+Shift+R or click buttons as fast as you like without corrupting the state — the service will either accept the transition or silently ignore it.

Tip

Tip — If a recording appears stuck in Finalizing for more than a few seconds, the encoder is still writing trailing frames and the MP4 header. Wait for it; killing Tex during finalisation can leave an unreadable file.

After Stopping

Once the state returns to Idle:

  1. The MP4 is closed and flushed to Recording.SaveFolder (defaults to %USERPROFILE%\Videos\Tex\).
  2. The control bar closes.
  3. A status message confirms the save path.
  4. If UI.ShowNotifications is on, a tray balloon is shown.

The file is immediately playable in any media player.