RIO(5)

πŸ“¦
version 0.5.29 Β· 3 versions
, in arch rolling

✨ NAME ✨

okay so RIO(5) is the manual page for Rio β€” literally the TOML configuration file format, bestie. If you're here, you're about to make Rio look and behave exactly how you want, and I'm obsessed. 🫢

🌈 SYNTAX 🌈

Rio's config file uses the TOML format. The format's spec lives at https://toml.io/en/v1.0.0 β€” that's the whole syntax vibe. ✨

πŸŽ€ LOCATION πŸŽ€

heads up bestie: Rio doesn't create the config file for you. It just goes looking for one.

On UNIX systems, it checks these spots:

  1. $RIO_CONFIG_HOME/config.toml
  2. $XDG_CONFIG_HOME/rio/config.toml
  3. $HOME/.config/rio/config.toml

On Windows, it looks here:

  1. %USERPROFILE%\AppData\Local\rio\config.toml

No cap, that's the search order. πŸ¦‹

πŸ’– GENERAL πŸ’–

These are the general settings, bestie.

  • theme = "<string>" β€” Theme name to use. When set, colors defined in the configuration file will be ignored. Default: None.
  • confirm-before-quit = true | false β€” Require confirmation before quitting. Default: true.
  • draw-bold-text-with-light-colors = true | false β€” When true, bold text is drawn using the bright color variants. Default: false.
  • env-vars = ["<string>",] β€” Environment variables to set for spawned processes. Example:
env-vars = ["TERM=xterm-256color", "COLORTERM=truecolor"]

πŸͺŸ WINDOW πŸͺŸ

This section documents the [window] table of the configuration file. Window size, startup mode, decorations β€” the whole main-character window energy. πŸ‘‘

  • width = <integer> β€” Window width in pixels. Default: 600.
  • height = <integer> β€” Window height in pixels. Default: 400.
  • mode = "Windowed" | "Maximized" | "Fullscreen" β€” Window startup mode. Default: "Windowed".
  • opacity = <float> β€” Background opacity as a floating point number from 0.0 to 1.0. Default: 1.0.
  • blur = true | false β€” Request compositor to blur content behind transparent windows. Default: false.
  • decorations = "Enabled" | "Disabled" | "Transparent" | "Buttonless" β€” Window decorations. Default: "Enabled".
    • Enabled β€” Normal window decorations.
    • Disabled β€” No window decorations.
    • Transparent (macOS only) β€” Transparent title bar.
    • Buttonless (macOS only) β€” Title bar without buttons.
  • background-image = { path = "<string>", opacity = <float> } β€” Window background image. The image is uploaded once into a dedicated GPU texture and stretched to cover the full window.
    • path β€” Path to the background image file.
    • opacity β€” Image opacity from 0.0 to 1.0. Default 1.0.

πŸ¦‹ FONTS πŸ¦‹

This section documents the [fonts] table of the configuration file. Fonts are highkey the whole vibe, so yeah.

  • size = <float> β€” Font size in points. Default: 18.0.
  • family = "<string>" β€” Font family name. When set, overrides all font variant families. Default: "cascadiacode".
  • features = ["<string>",] β€” OpenType font features to enable. Example:
features = ["ss02", "ss03", "liga"]
  • use-drawable-chars = true | false β€” Use built-in drawable characters for box drawing. Default: true.
  • disable-warnings-not-found = true | false β€” Disable warnings when fonts are not found. Default: false.
  • additional-dirs = ["<string>",] β€” Additional directories to search for fonts.
  • regular = { family = "<string>", style = "<string>", width = "<string>", weight = <integer> } β€” Regular font configuration. Default: { family = "cascadiacode", style = "Normal", width = "Normal", weight = 400 }.
  • bold = { family = "<string>", style = "<string>", width = "<string>", weight = <integer> } β€” Bold font configuration. Default: { family = "cascadiacode", style = "Normal", width = "Normal", weight = 800 }.
  • italic = { family = "<string>", style = "<string>", width = "<string>", weight = <integer> } β€” Italic font configuration. Default: { family = "cascadiacode", style = "Italic", width = "Normal", weight = 400 }.
  • bold-italic = { family = "<string>", style = "<string>", width = "<string>", weight = <integer> } β€” Bold italic font configuration. Default: { family = "cascadiacode", style = "Italic", width = "Normal", weight = 800 }.
  • extras = [{ family = "<string>" },] β€” Additional fonts to load.
  • emoji = { family = "<string>" } β€” Emoji font configuration. Default: Built-in Twemoji font.
  • hinting = true | false β€” Enable font hinting. Default: true.
  • symbol-map = [{ chars = "<string>", family = "<string>" },] β€” Map specific character ranges to fonts.

🌸 COLORS 🌸

This section documents the [colors] table of the configuration file. Colors are specified using their hexadecimal values with a # prefix: #RRGGBB or #RRGGBBAA. Slay.

  • background = "<string>" β€” Default background color.
  • foreground = "<string>" β€” Default foreground color.
  • cursor = "<string>" β€” Cursor color.
  • vi-cursor = "<string>" β€” Vi mode cursor color.
  • black, red, green, yellow, blue, magenta, cyan, white = "<string>" β€” Standard ANSI colors.
  • light-black, light-red, light-green, light-yellow, light-blue, light-magenta, light-cyan, light-white = "<string>" β€” Bright ANSI colors.
  • dim-black, dim-red, dim-green, dim-yellow, dim-blue, dim-magenta, dim-cyan, dim-white = "<string>" β€” Dim ANSI colors.
  • tabs = "<string>" β€” Inactive tab title color. Tab island backgrounds are derived from the window background color automatically.
  • tabs-active = "<string>" β€” Active tab title color.
  • split = "<string>" β€” Split separator color.
  • search-match-background = "<string>" β€” Search match background color.
  • search-match-foreground = "<string>" β€” Search match text color.
  • search-focused-match-background = "<string>" β€” Focused search match background color.
  • search-focused-match-foreground = "<string>" β€” Focused search match text color.
  • selection-background = "<string>" β€” Selection background color.
  • selection-foreground = "<string>" β€” Selection text color.

🎯 CURSOR 🎯

This section documents the [cursor] table of the configuration file. Cursor vibes, but make it cute.

  • shape = "block" | "underline" | "beam" β€” Cursor shape. Default: "block".
  • blinking = true | false β€” Enable cursor blinking. Default: false.
  • blinking-interval = <integer> β€” Cursor blinking interval in milliseconds. Range: 350-1200. Default: 800.

πŸŒ€ SCROLL πŸŒ€

This section documents the [scroll] table of the configuration file. Scroll speed tuning, no cap.

  • multiplier = <float> β€” Scroll speed multiplier. Default: 3.0.
  • divider = <float> β€” Scroll divider for fine-tuning. Default: 1.0.

This section documents the [navigation] table of the configuration file. Tabs and navigation display vibes.

  • mode = "NativeTab" | "Tab" | "Plain" β€” Navigation display mode. Default: "Tab".
  • clickable = true | false β€” Enable clickable navigation elements. Default: false.
  • use-current-path = true | false β€” Show current working directory in navigation. Default: false.
  • color-automation = [{ program = "<string>", path = "<string>", color = "<string>" },] β€” Automatic color assignment based on program or path.

🐚 SHELL 🐚

This section documents the [shell] table of the configuration file. What shell Rio runs, bestie.

  • program = "<string>" β€” Shell program to execute. Default: System default shell.
  • args = ["<string>",] β€” Arguments to pass to the shell.

πŸ“ EDITOR πŸ“

This section documents the [editor] table of the configuration file. The editor Rio opens config files with, periodt.

  • program = "<string>" β€” Editor program for opening configuration files. Default: "vi".
  • args = ["<string>",] β€” Arguments to pass to the editor.

⌨️ BINDINGS ⌨️

This section documents the [bindings] table of the configuration file. Keybinds, the moment, fr fr.

  • keys = [{ key = "<string>", with = "<string>", action = "<string>" },] β€” Key bindings configuration.
    • key β€” Key name (e.g., "q", "Enter", "F1").
    • with β€” Modifier keys: "super", "alt", "ctrl", "shift". Multiple modifiers can be combined with |.
    • action β€” Action to perform. Available actions include: "Quit", "CreateWindow", "CloseWindow", "Copy", "Paste", "ScrollUp", "ScrollDown", "ToggleViMode", "OpenConfigEditor", and many others.

🎨 RENDERER 🎨

This section documents the [renderer] table of the configuration file. Graphics and performance settings, it's giving very technical. ✨

  • performance = "High" | "Low" β€” Rendering performance mode. Default: "High".
  • backend = "Automatic" | "GL" | "Vulkan" | "DX12" | "Metal" β€” Graphics backend to use. Default: "Automatic".
  • disable-renderer-when-unfocused = true | false β€” Disable rendering when window is unfocused to save power. Default: false.
  • level = <integer> β€” Rendering level (0-3). Default: 3.

πŸ› οΈ DEVELOPER πŸ› οΈ

This section documents the [developer] table of the configuration file. Debugging stuff, iykyk.

  • log-level = "OFF" | "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE" β€” Log level for debugging. Default: "OFF".
  • enable-log-file = true | false β€” Write logs to file. Default: false.
  • enable-fps-counter = true | false β€” Display FPS counter. Default: false.

πŸ‘€ SEE ALSO πŸ‘€

rio(1) β€” go look at that one too, bestie.

πŸ› BUGS πŸ›

Found a bug? Please report it at https://github.com/raphamorim/rio/issues. Do it, the maintainers will love you for it. 🫢

πŸ‘‘ MAINTAINERS πŸ‘‘

  • Raphael Amorim <rapha850@gmail.com>

πŸŽ€ and that's the page, bestie! Source/version: File Formats Manual / RIO(5). Date: 2026-11-01. mwah πŸ’‹

πŸ“¦ where this page comes from