Silkie configuration

These options configure Silkie’s extensions in kitty.conf. For the file location, syntax, and inherited settings, see kitty’s configuration reference.

The option defaults and descriptions below come from Silkie’s configuration definitions.

Input limits

These limits apply to data a program writes to the terminal. Each one is a maximum. 0, the default, means there is no limit. Set one only to contain a program that tries to exhaust memory or time. Goblin View uses csi-limit and escape-limit. Goblin Skiff uses --csi-limit, --escape-limit and --vector-depth-limit. The dash, raster and curve limits apply when Silkie rasterizes a vector image.

csi_limit

The maximum number of bytes in one CSI sequence, everything after ESC [ up to and including its final byte. A longer sequence is ignored. 0 means a CSI may be of any length. Cursor motion and editing that name a count are still clamped to the screen.

escape_limit

The maximum number of bytes in one OSC, APC, DCS, PM or SOS sequence, not counting its introducer and terminator. A longer sequence is discarded. 0 means these sequences may be of any length. Clipboard writes are still bounded by clipboard_max_size.

vector_depth_limit

The maximum number of groups a vector element may be nested inside. Deeper elements are not drawn. 0 means any depth. A cycle in the parent chain is rejected either way.

vector_dash_limit

The maximum number of dash boundaries stroked for one path. A path that would need more is drawn solid. 0 means every dash is stroked.

vector_raster_limit

The maximum number of pixels in the raster of one vector image. A larger requested size is scaled down to fit. 0 means the image is rasterized at the size it is shown.

vector_curve_limit

The maximum number of line segments used to flatten one curve or circle. 0 means as many segments as the flattening error asks for.

hdr

Default: no.

Allow colors brighter than SDR white on HDR displays. Normal (SDR) content is rendered exactly as it is with this option off, HDR only adds extra brightness requested by programs via the HDR brightness protocol, by cursor_brightness and by HDR images. auto enables the extended range of the display only while something brighter than SDR white is on screen, always keeps it enabled. Supported on macOS, and on Wayland where the compositor implements color management and the graphics driver has floating point window surfaces, see HDR brightness protocol.

hdr_max_headroom

Default: 4.0.

The maximum brightness, as a multiple of SDR white, that Silkie will use for HDR content. The display may offer more headroom than this, particularly at low brightness settings, but very bright text is unpleasant to look at. Requests for more brightness are clamped to this value. The display’s own limit always applies.

cursor_brightness

Default: 1.0.

The brightness of the block cursor as a multiple of SDR white, so 2.0 makes it twice as bright as normal white text. Values above one only take effect on an HDR display with hdr enabled, otherwise the cursor is rendered as usual. See HDR brightness protocol.

wayland_colorspace

Default: srgb.

The colorspace OS windows are drawn in on Wayland. With the default of srgb a window is what it always was. With displayp3 or rec2020 the compositor is told the window is in that wider gamut, and colors and images that a program tags with a wide gamut, see Wide gamut colors, are shown in it rather than being clipped to sRGB. auto picks the widest of the three that the display the window is on can show in full. Everything that is not tagged with a gamut is sRGB and keeps its appearance, unlike with macos_colorspace. This needs a compositor that implements color management, on any other the window stays sRGB. A wide window is drawn with one extra pass over its pixels.

display_info

Default: empty (no overrides).

Properties of the display that the operating system cannot report, used to answer programs that ask with the display protocol. A space separated list of key=value pairs that override what Silkie detects, for example on an e-ink display:

display_info kind=eink color=gray bits=4

The keys are kind (lcd, oled, eink or unknown), color (rgb, gray or mono), bits (bits per color channel), gamut (srgb, p3, rec2020 or unknown), headroom, scale, period (refresh period in microseconds) and ppi.

tablet_hardware_ids

Default: no.

Whether a program may be told the hardware identifiers of pens and tablets with the Tablet pointer protocol: the serial number of a pen, the identifier of its type, and the vendor and product ids of a tablet. A serial number tells whose pen it is, and the program asking may be running on another machine, so by default a program that asks for them with bit 8 of the mode is refused: the bit reads back as off and no identifier is sent. Everything else about a pen, a tablet or a pad is reported as before.

haptic_feedback

Default: yes.

Allow programs to play haptic feedback on the trackpad, see Haptic feedback protocol. Only available on macOS.