How it looks#

Appearance is set at the top of a tape with Set. Everything has a default, so set only what you want to change.

Output demo.gif
Set Theme "Catppuccin Mocha"
Set FontSize 20
Set Columns 70
Set Rows 14
Set Padding 20
Set Margin 30
Set MarginFill "#1e1e2e"
Set WindowBar Colorful
Set BorderRadius 10

Colors#

Set Theme "Name" picks one of 348 bundled themes (the VHS set, such as Dracula, Nord, or Catppuccin Mocha). An unknown name is an error that tells you so. Or give your own colors as a JSON object:

Set Theme { "background": "#101018", "foreground": "#e0e0f0", "red": "#ff6b6b", "green": "#7bd88f" }

A theme can also set cursor and the sixteen ANSI colors (black through brightWhite). In a GIF, a theme’s background, foreground, and ANSI colors stay exact and flat rather than speckled.

Text#

SettingDoesDefault
FontSizeText size in pixels, 6 to 9618
FontFamilyGo Mono (built in), an installed font’s name, or a .ttf/.otf/.ttc pathGo Mono
LineHeightLine spacing multiplier1
LetterSpacingExtra pixels between letters0
CursorBlinktrue or falsefalse

To use a font you have installed, name its family (Set FontFamily "JetBrains Mono") or point to the file (Set FontFamily ./fonts/Mono.ttf). Text the font lacks is drawn from built-in symbol and color emoji fonts, then from other installed fonts, before a replacement mark is shown. See Using your own font.

Size#

Set the terminal’s grid, or the picture’s final pixel size, but not both for the same direction:

Set Columns 80        # or Cols; with Rows: the grid
Set Rows 24

Set Width 1200        # or the output's total size in pixels, decorations included
Set Height 630

Frame around the terminal#

SettingDoes
PaddingPixels of space between the text and the window’s edge
MarginPixels around the window
MarginFillColor of the margin, as #RRGGBB (by default the theme background)
WindowBarA title bar: Colorful, ColorfulRight, Rings, RingsRight, or None
WindowBarSizeHeight of the bar in pixels (30)
BorderRadiusRounded corners, in pixels

Speed and looping#

Set Framerate 20         # frames per second, 1 to 120
Set PlaybackSpeed 2      # play the recording twice as fast
Set TypingSpeed 40ms     # delay between typed keys
Set LoopOffset 50%       # a GIF starts halfway through its loop

PlaybackSpeed speeds up recorded time but not the waiting inside the session, so Wait still takes as long as the command does. LoopOffset applies to GIFs only.