Skip to content
/ rio Public
forked from raphamorim/rio

WGPU based terminal - built with Rust and Tokio

License

Notifications You must be signed in to change notification settings

rudrabhoj/rio

 
 

Repository files navigation

Rio: ⚡ terminal app

Website: https://raphamorim.io/rio

This project depends of donations, so if you are using or want to help in any way please consider to donate via Github Sponsors.

  • Cross-platform
  • Offloads rendering to the GPU for lower system load
  • Uses threaded rendering for absolutely minimal latency

Status

Basic features are under development for MacOs right now.

Platform Development Status
MacOs In development 👷
Linux Not started yet
Windows Not started yet

Last testing build for macOS (338b4c411ac62dc4bdf68b5c9b8e5da7d7bab8ca):

Available themes

See more in configuration

Modern Basic
Demo macOS Demo basic macOS

WPGU based

WPGU is an implementation of WebGPU for use outside of a browser and as backend for firefox's WebGPU implementation. WebGPU allows for more efficient usage of modern GPU's than WebGL. More info

Low CPU and memory usage

You want to avoid a browser-based application to reduce memory and CPU consumption. Electron for example, uses Chromium under the hood so your user sees the same on Windows, Linux and macOS but Rio have same compatibility rendering based on WGPU.

Rio also relies on Rust memory behavior: Rust is a memory-safe language that employs a compiler to track the ownership of values that can be used once and a borrow checker that manages how data is used without relying on traditional garbage collection techniques. More info

Configuration

The configuration should be the following paths otherwise Rio will use the default configuration.

  • macOs path: ~/.rio/config.toml

Example of config.toml:

performance = "High"
height = 400
width = 600

Perfomance

Description: Set terminal WGPU rendering perfomance.

  • High: Adapter that has the highest performance. This is often a discrete GPU.
  • Low: Adapter that uses the least possible power. This is often an integrated GPU.

See more in https://docs.rs/wgpu/latest/wgpu/enum.PowerPreference.html

# <performance> Set WGPU rendering perfomance
# default: High
# options: High, Low
# High: Adapter that has the highest performance. This is often a discrete GPU.
# Low: Adapter that uses the least possible power. This is often an integrated GPU.
performance = "High"

Height

Description: Set terminal window height.

# <height> Set default height
# default: 400
height = 400

Width

Description: Set terminal window width.

# <width> Set default width
# default: 400
width = 600

Columns

Description: Defines the column width of your console window. This mode is system dependant, and returns an error if you specify a column width that is not supported by your operating system.

# <width> Set default width
# default: 80 (macOs)
columns = 80

Rows

Description: Define the row height of your console window. This mode is system dependant, and returns an error if you specify a row height that is not supported by your operating system.

# <width> Set default width
# default: 25 (macOs)
rows = 25

Colors

  • background - Set background color.
  • cursor - Set cursor color.
  • foreground - Set foreground color.
  • tabs - Set tab color.
  • tabs-active - Set active tab color.
[colors]
background = "#151515"
cursor = "#8E12CC"
foreground = "#FFFFFF"

Style

Font Size

  • font_size - Set font size.
[style]
font_size = 16.0

Theme

Description: Set Rio terminal theme

  • Modern
  • Basic
# <theme> Set Rio terminal theme
# default: Basic
# options: Modern, Basic
theme = "Modern"

Reference && Credits

About

WGPU based terminal - built with Rust and Tokio

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.7%
  • Makefile 0.3%