- Multi window support.
- Support to older MacOS versions (older or equal to Big Sur).
- Possibility of choose between Spawn and Fork.
- Inverse instruction.
- Introduced "rio" terminfo.
- Multi byte rendering fixes.
- Select shell and working-dir in configuration file.
- FreeBSD support and added to FreeBSD ports.
Overview
Rio release 0.0.9 is finally here, there's a lot of updates to cover so let's get started. I also would like to remind you that Rio is still unstable. This release adds a lot of bug fixes and feature additions in order to make Rio terminal stable.
Multi window support
Rio terminal has added the support to multi window feature.
Shortcuts:
- MacOS: Command + N
- Windows: Alt + N
- Linux: Control + N
Support to older MacOS versions (older or equal to Big Sur).
Now it is available for versions below Ventura (Rome).
Choose between fork or spawn
Decide which one to use in the configuration file by the usage of property "use-fork":
Defaults for POSIX-based systems:
- MacOS: spawn processes
- Linux/BSD: fork processes
Inverse instructions
Before the v0.0.9, programs were not correctly rendered in the terminal due to the lack of inverse instruction in Rio.
For example, ranger uses inverse to show the active path.
Before:
Now:
Introduced "rio" terminfo
Terminfo (formerly Termcap) is a database of terminal capabilities and more. For every (well almost) model of terminal it tells application programs what the terminal is capable of doing.
It tells what escape sequences (or control characters) to send to the terminal in order to do things such as move the cursor to a new location, erase part of the screen, scroll the screen, change modes, change appearance (colors, brightness, blinking, underlining, reverse video etc.).
After about 1980, many terminals supported over a hundred different commands (some of which take numeric parameters).
Rio terminal has now it's own terminfo:
More info here.
Fixes for multi-byte rendering
Before the v0.0.9, multi-byte characters were not correctly rendered in the terminal.
Before: As reported in the issue #127
Now:
Configuration file addition: shell
Now you can set "shell.program" to the path of your favorite shell, e.g. "/bin/fish".
Entries in "shell.args" are passed unmodified as arguments to the shell.
shell = { program = "/bin/zsh", args = ["--login"] }
Defaults:
- MacOS: /bin/zsh --login
- Linux/BSD: user login shell
- Windows: powershell
Configuration file addition: working_dir
Directory the shell is started in. If this is unset the working
directory of the parent process will be used.
This configuration only has effect if use-fork is disabled
working_dir = "/Users/raphael/Documents/"
Configuration file removal: Advanced
Breaking changes for configuration file regarding "Advanced". The configuration "Advanced" has moved to root level and "disable-render-when-unfocused" renamed to "disable-unfocused-render".
theme = "dracula"
[advanced]
disable-render-when-unfocused = true
now
theme = "dracula"
disable-unfocused-render = true
Changelog of v0.0.9
- The configuration "Advanced" has moved to root level and "disable-render-when-unfocused" renamed to "disable-unfocused-render".
- Support to spawn and fork processes, spawn has became default. Spawn increases Rio compatibility in a broad range, like old MacOS versions (older or equal to Big Sur). However, If you want to use Rio terminal to fork processes instead of spawning processes, enable "use-fork" in the configuration file.
- Introduced "RIO_LOG_LEVEL" variable usage.
- Increased max tabs from 6 to 9.
- Fix Incorrect cursor position when using multi-byte characters (Ref: #127)
- Fix bug "black screen with nearly zero interactivity" and new tab hanging.
- Fix cursor disappearing after resize.
- Introduction of "shell" and "working_dir" in configuration file.
- Multi window support #97.
- Corrections on select and scroll experience (it was using wrongly font-bound for line calculation).
- Add selection color to the theme config (closed #125).
- Implemented Inverse (fix #92).
- Proper choose formats that matches Rio requirements (related #122).
- Corcovado: Filter windows crate dependency to only Windows targets (related: #119).
- Teletypewriter: Fixes for musl as target_env (related: #119).
- FreeBSD support, implementation by yurivict (Commit, Ref: #115)