RIO(5)
β¨ 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:
$RIO_CONFIG_HOME/config.toml$XDG_CONFIG_HOME/rio/config.toml$HOME/.config/rio/config.toml
On Windows, it looks here:
%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.
π§ NAVIGATION π§
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
- arch rolling: rio 0.5.29-1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms