Configuration
The configuration should be the following paths otherwise Rio will use the default configuration.
MacOS and Linux configuration file path is ~/.config/rio/config.toml
.
Windows configuration file path is C:\Users\USER\AppData\Local\rio\config.toml
(replace "USER" with your user name).
Updates to the configuration file automatically triggers Rio to render the terminal with the new configuration.
Note that all parameters without a header must be at the beginning of the file, otherwise they will be ignored. Example:
[editor]
program = "vi"
args = []
theme = "dracula" # ignore it, be under the `editor` header
theme = "dracula" # it works, be without heading
[editor]
program = "vi"
args = []
colors
Defining colors in the configuration file will not have any effect if you're using a theme.
The default configuration is without a theme.
Example:
[colors]
# Regular colors
background = '#0F0D0E'
black = '#4C4345'
blue = '#006EE6'
cursor = '#F38BA3'
cyan = '#88DAF2'
foreground = '#F9F4DA'
green = '#0BA95B'
magenta = '#7B5EA7'
red = '#ED203D'
white = '#F1F1F1'
yellow = '#FCBA28'
# Cursor
cursor = '#F712FF'
vi-cursor = '#12d0ff'
# Navigation
tabs = '#12B5E5'
tabs-foreground = '#7d7d7d'
tabs-active = '#303030'
tabs-active-highlight = '#ffa133'
tabs-active-foreground = '#FFFFFF'
bar = '#1b1a1a'
# Search
search-match-background = '#44C9F0'
search-match-foreground = '#FFFFFF'
search-focused-match-background = '#E6A003'
search-focused-match-foreground = '#FFFFFF'
# Selection`
selection-foreground = '#0F0D0E'
selection-background = '#44C9F0'
# Dim colors
dim-black = '#1C191A'
dim-blue = '#0E91B7'
dim-cyan = '#93D4E7'
dim-foreground = '#ECDC8A'
dim-green = '#098749'
dim-magenta = '#624A87'
dim-red = '#C7102A'
dim-white = '#C1C1C1'
dim-yellow = '#E6A003'
# Light colors
light-black = '#ADA8A0'
light-blue = '#44C9F0'
light-cyan = '#7BE1FF'
light-foreground = '#F2EFE2'
light-green = '#0ED372'
light-magenta = '#9E88BE'
light-red = '#F25E73'
light-white = '#FFFFFF'
light-yellow = '#FDF170'
You can also specify RGBA with hex, for example: #43ff64d9
.
confirm-before-quit
Require confirmation before quitting (Default: true
).
confirm-before-quit = true
cursor
By default, the cursor shape is set to block
. You can also choose from other options like underline
and beam
.
Additionally, you can enable or disable cursor blinking, which is set to false
by default.
Shape
Options: 'block', 'underline', 'beam'
[cursor]
shape = 'block'
Blinking
Enable/disable blinking (default: false)
[cursor]
blinking = false
Blinking-interval
Set cursor blinking interval (default: 800, only configurable from 350ms to 1200ms).
[cursor]
blinking-interval = 800
developer
This property enables log level filter and file. The default level is "OFF" and the logs are not logged to a file as default. The level may be DEBUG
, INFO
, TRACE
, ERROR
, WARN
or OFF
.
[developer]
log-level = "OFF"
enable-log-file = false
If you have any suggestion of configuration ideas to Rio, please feel free to open an issue.
draw-bold-text-with-light-colors
Default is false
draw-bold-text-with-light-colors = false
editor
This setting specifies the editor Rio will use to open the configuration file. By default, the editor is set to vi
.
Whenever the key binding OpenConfigEditor
is triggered, Rio will use the configured editor and the path to the Rio configuration file.
For example, if you have VS Code installed and want to use it as your editor, the configuration would look like this:
[editor]
program = "code"
args = []
When OpenConfigEditor
is triggered, it will execute the command:
$ code <path-to-rio-configuration-file>
.
If you set a value for program
, Rio will look for it in the default system application directory (/usr/bin
on Linux and macOS). If your desired editor is not in this directory, you must specify its full path:
[editor]
program = "/usr/local/bin/code"
args = []
env-vars
Sets environment variables.
Example:
env-vars = ["FIRST_VARIABLE_NAME=123", "SECOND_VARIABLE_NAME=456"]
fonts
The font configuration default:
[fonts]
size = 18
features = []
[fonts.regular]
family = "cascadiacode"
style = "Normal"
width = "Normal"
weight = 400
[fonts.bold]
family = "cascadiacode"
style = "Normal"
width = "Normal"
weight = 800
[fonts.italic]
family = "cascadiacode"
style = "Italic"
width = "Normal"
weight = 400
[fonts.bold-italic]
family = "cascadiacode"
style = "Italic"
width = "Normal"
weight = 800
fonts.family
Note: You can set different font families but Rio terminal will always look for regular font bounds whene
You can also set family on root to overwrite all fonts.
fonts.family = "cascadiacode"
fonts.extras
You can also specify extra fonts to load:
fonts.extras = [{ family = "Microsoft JhengHei" }]
fonts.features
In case you want to specify any font feature:
fonts.features = ["ss02", "ss03", "ss05", "ss19"]
Note: Font features do not have support to live reload on configuration, so to reflect your changes, you will need to close and reopen Rio.
fonts.emojis
You can also specify which emoji font you would like to use, by default will be loaded a built-in Twemoji color by Mozilla.
In case you would like to change:
# Apple
# [fonts.emoji]
# family = "Apple Color Emoji"
# In case you have Noto Color Emoji installed
# [fonts.emoji]
# family = "Noto Color Emoji"
fonts.hinting
Enable or disable font hinting. It is enabled by default.
fonts.hinting = true
fonts.ui
You can specify user interface font on Rio.
Note: fonts.ui
does not have live reload configuration update, you need to close and open Rio again.
[fonts.ui]
family = "Departure Mono"
ignore-selection-foreground-color
Default is false
ignore-selection-foreground-color = false