Terminal GuideTerminal Guide
rio icon

Rio

Terminal Emulators
macOSLinuxWindows
Rust

High-performance Rust terminal with WebGPU rendering.

Official Website

Features

WebGPU RenderingTabsFastTOML ConfigFont Ligatures

Installation

Homebrew
brew install --cask rio
Cargo (Rust)
cargo install rio

Why Use Rio?

Rio is a high-speed terminal emulator written in Rust using WebGPU/WGPU. Modern GPU acceleration enables fast rendering with low CPU usage.

WebGPU Rendering

Uses cutting-edge WebGPU/WGPU technology. Smooth rendering even on high-resolution displays.

Fast and Low Resource

Built in Rust for quick startup. GPU offloading keeps CPU usage low even during heavy output.

TOML Configuration

Simple and readable TOML config files. Intuitive customization.

Font Ligatures

Full support for programming font ligatures. Code displays beautifully.

Main Features

Fast Rendering with WebGPU

Rio uses WGPU (Rust implementation of WebGPU) to render text. Compared to traditional CPU-based rendering, this enables faster and smoother display.

Rendering Configuration
# Configure rendering backend
# Can be set in config.toml

[renderer]
# Available backends: "Automatic", "Vulkan", "Metal", "Dx12", "Dx11", "GL"
backend = "Automatic"

# Performance settings
performance = "High"  # "Low", "High"

# VSync setting (prevents screen tearing)
disable-unfocused-render = false

Tabs and Window Management

Rio provides native tab functionality to manage multiple shell sessions in a single window.

Tab Configuration
# Navigation Configuration
[navigation]
# Tab mode: "CollapsedTab", "TopTab", "BottomTab", "Breadcrumb", "Plain"
mode = "TopTab"

# Active tab highlight color
color-automation = []

# Window shortcuts
# Cmd+T / Ctrl+Shift+T: New tab
# Cmd+W / Ctrl+Shift+W: Close tab
# Cmd+1-9: Switch tabs
# Cmd+Shift+] / Cmd+Shift+[: Next/previous tab

Font Settings and Ligatures

Supports font ligatures for programming fonts, so symbols like==, =>, and-> display beautifully.

Font Configuration
# Font Configuration
[fonts]
family = "JetBrains Mono"
size = 16

# Font configuration for each style
[fonts.regular]
family = "JetBrains Mono"
style = "Normal"
weight = 400

[fonts.bold]
family = "JetBrains Mono"
style = "Normal"
weight = 700

[fonts.italic]
family = "JetBrains Mono"
style = "Italic"
weight = 400

[fonts.bold-italic]
family = "JetBrains Mono"
style = "Italic"
weight = 700

Installation

macOS

macOS
# Install via Homebrew Cask
brew install --cask rio

# Or download dmg from official website
# https://github.com/raphamorim/rio/releases

Windows

Windows
# Install via winget
winget install raphamorim.rio

# Or download installer from official website
# https://github.com/raphamorim/rio/releases

Linux

Linux
# Arch Linux (AUR)
yay -S rio

# Fedora
sudo dnf copr enable jluttine/rio
sudo dnf install rio

# Build from source (Cargo)
cargo install rio
# or
cargo install --git https://github.com/raphamorim/rio.git rio

# AppImage
# Download AppImage from https://github.com/raphamorim/rio/releases

Official Website

Check https://raphamorim.io/rio/ for detailed documentation and download links.

Configuration and Customization

Configuration File Location

Configuration File
# Configuration file path
# macOS: ~/.config/rio/config.toml
# Linux: ~/.config/rio/config.toml
# Windows: %APPDATA%\rio\config.toml

# If config file doesn't exist, runs with default settings
# Create configuration file
mkdir -p ~/.config/rio
touch ~/.config/rio/config.toml

Basic Configuration

~/.config/rio/config.toml
# Basic Configuration
[window]
width = 800
height = 600
mode = "Windowed"  # "Maximized", "Fullscreen"
opacity = 1.0
blur = false
decorations = "Enabled"  # "Disabled", "Transparent", "Buttonless"

[cursor]
shape = "Block"  # "Block", "Underline", "Beam"
blinking = true
blinking-interval = 800

[shell]
# Specify shell (uses system default if omitted)
program = "/bin/zsh"
args = ["-l"]

# Working directory
working-dir = "~"

Color Scheme

Color Scheme (Tokyo Night)
# Color Scheme Configuration
[colors]
background = "#1a1b26"
foreground = "#c0caf5"
cursor = "#c0caf5"
tabs = "#1a1b26"
tabs-active = "#7aa2f7"
selection-background = "#33467c"
selection-foreground = "#c0caf5"

# ANSI Colors
[colors.normal]
black = "#15161e"
red = "#f7768e"
green = "#9ece6a"
yellow = "#e0af68"
blue = "#7aa2f7"
magenta = "#bb9af7"
cyan = "#7dcfff"
white = "#a9b1d6"

[colors.bright]
black = "#414868"
red = "#f7768e"
green = "#9ece6a"
yellow = "#e0af68"
blue = "#7aa2f7"
magenta = "#bb9af7"
cyan = "#7dcfff"
white = "#c0caf5"

Keybinding Configuration

Keybinding Configuration
# Customize Keybindings
[[bindings]]
key = "v"
mods = "super | shift"
action = "Paste"

[[bindings]]
key = "c"
mods = "super | shift"
action = "Copy"

[[bindings]]
key = "t"
mods = "super"
action = "CreateTab"

[[bindings]]
key = "w"
mods = "super"
action = "CloseTab"

[[bindings]]
key = "="
mods = "super"
action = "IncreaseFontSize"

[[bindings]]
key = "-"
mods = "super"
action = "DecreaseFontSize"

Keyboard Shortcuts

ShortcutFunction
Cmd+T / Ctrl+Shift+TCreate new tab
Cmd+W / Ctrl+Shift+WClose tab
Cmd+1-9 / Alt+1-9Switch to numbered tab
Cmd+Shift+]Next tab
Cmd+Shift+[Previous tab
Cmd+C / Ctrl+Shift+CCopy
Cmd+V / Ctrl+Shift+VPaste
Cmd++ / Ctrl++Increase font size
Cmd+- / Ctrl+-Decrease font size
Cmd+0 / Ctrl+0Reset font size

Tips

  • *Performance Optimization: On battery-powered laptops, settingperformance = "Low" reduces power consumption.
  • *Transparent Background: Set opacity below 1.0 andblur = true for a translucent window with blurred background (macOS/some Linux).
  • *Hot Reload: Rio automatically reloads configuration when you edit the config file. No terminal restart needed.
  • *Color Scheme Themes: The official repository'sthemes/ directory contains many preset color schemes.
  • *GPU Selection: In multi-GPU environments, specify the rendering backend using thebackend setting.
Written by Dai AokiPublished: 2026-01-20

Related Articles

Explore More