raphamorim / rio

A hardware-accelerated GPU terminal emulator focusing to run in desktops and browsers.
https://raphamorim.io/rio
MIT License
3.92k stars 124 forks source link

Rio doesn't use the last 1/5th (roughly) of the terminal's window #587

Closed oldbuilding closed 3 months ago

oldbuilding commented 3 months ago

versions

I tried numerous variations of height, window, decorator, render backend; most config changes are recognized though. Rio always shows the bottom horizontal 1/5th (roughly) of the terminal window as blank. Text disappears behind it while scrolling up or down. I can manually resize the window and get the same results. Hopefully the images will explain.

~/.config/rio/config.json

editor = 'nvim'
cursor = '▇'
blinking-cursor = false
hide-cursor-when-typing = false
ignore-selection-foreground-color = false

# Theme
# It makes Rio look for the specified theme in the themes folder
# (macos and linux: ~/.config/rio/themes/dracula.toml)
# (windows: C:\Users\USER\AppData\Local\rio\themes\dracula.toml)
# theme = "dracula"

padding-x = 12

# Option as Alt
# This config only works on MacOS.
# Possible choices: 'both', 'left' and 'right'.
option-as-alt = 'left'

line-height = 1.2

# Environment variables
# Example:
# env-vars = []

# Confirm before exiting Rio
confirm-before-quit = true

# Window configuration
# • width - define the initial window width.
#   Default: 600
# • height - define the initial window height.
#   Default: 400
# • mode - define how the window will be created
#     - "Windowed" (default) is based on width and height
#     - "Maximized" window is created with maximized
#     - "Fullscreen" window is created with fullscreen
# • opacity - Set window opacity
# • blur - Set blur on the window background. Changing this config requires restarting Rio to take effect.
# • decorations - Set window decorations, options: "Enabled", "Disabled", "Transparent", "Buttonless"
# Example:
[window]
width = 1200
height = 1200
mode = "Windowed"
opacity = 0.5
blur = true
decorations = "Enabled"

# Renderer
#
# • Performance: Set WGPU rendering performance
#   - 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.
#
# • Backend: Set WGPU rendering backend
#   - Automatic: Leave Sugarloaf/WGPU to decide
#   - GL: Supported on Linux/Android, and Windows and macOS/iOS via ANGLE
#   - Vulkan: Supported on Windows, Linux/Android
#   - DX12: Supported on Windows 10
#   - Metal: Supported on macOS/iOS
#
# • disable-unfocused-render: This property disable renderer processes while Rio is unfocused.
#
# • level: Configure renderer level
#   - Available options: 0 and 1.
#       Higher the level more rendering features and computations
#       will be done like enable font ligatures or emoji support.
#       For more information please check the docs.
#
# Example:
[renderer]
performance = "High"
backend = "Metal"
disable-unfocused-render = false
level = 1

# Keyboard
# use-kitty-keyboard-protocol - Enable Kitty Keyboard protocol
# disable-ctlseqs-alt - Disable ctlseqs with ALT keys
#   - For example: Terminal.app does not deal with ctlseqs with ALT keys
# Example:
# [keyboard]
# use-kitty-keyboard-protocol = false
disable-ctlseqs-alt = false

# Fonts
# Configure fonts used by the terminal
# 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
# You can also specify extra fonts to load
# [fonts]
# extras = [{ family = "Microsoft JhengHei" }]
# Example:
[fonts]
family = "VictorMono NFM"
size = 18

[fonts.regular]
family = "VictorMono NFM"

[fonts.bold]
family = "VictorMono NFM"
style = "bold"
weight = 800

[fonts.italic]
family = "VictorMono NFM"
style = "italic"
weight = 400

[fonts.bold-italic]
family = "VictorMono NFM"
style = "oblique"
weight = 800

# Scroll
# You can change how many lines are scrolled each time by setting this option.
# Scroll calculation for canonical mode will be based on `lines = (accumulated scroll * multiplier / divider)`,
# If you want a quicker scroll, keep increasing the multiplier.
# If you want to reduce scroll speed you will need to increase the divider.
# You can use both properties also to find the best scroll for you.
# Multiplier default is 3.0.
# Divider default is 1.0.
# Example:
# [scroll]
# multiplier = 3.0
# divider = 1.0

# Navigation
# "mode" - Define navigation mode
#   • NativeTab (MacOS only)
#   • CollapsedTab
#   • BottomTab
#   • TopTab
#   • Breadcrumb
#   • Plain
# "clickable" - Enable click on tabs to switch.
# "use-current-path" - Use same path whenever a new tab is created (Note: requires `use-fork` to be set to false).
# "color-automation" - Set a specific color for the tab whenever a specific program is running, or in a specific directory.
#
[navigation]
mode = "BottomTab"
clickable = true
use-current-path = false
# color-automation = []

[shell]
program = "/opt/homebrew/bin/bash"
args = ["--login"]

# Colors
# Colors definition will overwrite any property in theme
# (considering if theme folder does exists and is being used)
# Example:
# [colors]
# background = '#0F0D0E'
# foreground = '#F9F4DA'
# cursor = '#F38BA3'
# tabs = '#443d40'
# tabs-active = '#F38BA3'
# green = '#0BA95B'
# red = '#ED203D'
# blue = '#12B5E5'
# yellow = '#FCBA28'

# Bindings
# Create custom Key bindings for Rio terminal
# More information in: raphamorim.io/rio/docs/custom-key-bindings
# Example:
# [bindings]
# keys = [
#   { key = "q", with = "super", action = "Quit" },
#   # Bytes[27, 91, 53, 126] is equivalent to "\x1b[5~"
#   { key = "home", with = "super | shift", bytes = [27, 91, 53, 126] }
# ]

# Log level
# This property enables log level filter. Default is "OFF".
# Example:
# [developer]
# log-level = "OFF"

image

image

image

image

The same occurs when opening neovim.

image

oldbuilding commented 3 months ago

I just updated to Version 0.1.6 (20230528.115631) and have the same issue.

raphamorim commented 3 months ago

@oldbuilding I found the reason, please comment or remove line-height = 1.2 configuration. It was removed temporarily on 0.1.0 migration but I haven't added it back yet 🙏

oldbuilding commented 3 months ago

Perfect. Looks great now.

The 0.1.0 docs still include line-hight.

Thank you!

oldbuilding commented 3 months ago

works with after removing line-hight from config.

raphamorim commented 3 months ago

That’s great! Closing this issue for now 🙏