Skip to content

Commit

Permalink
wrap up post release 0.0.19
Browse files Browse the repository at this point in the history
  • Loading branch information
raphamorim committed Sep 19, 2023
1 parent 30e91d2 commit ba18812
Show file tree
Hide file tree
Showing 7 changed files with 118 additions and 9 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ x = 0.0
- Support for blinking cursor (Ref: https://github.com/raphamorim/rio/issues/137) (this option is not enabled by default).
- Migrated font-kit to a custom font loader.
- Support to MacOS tile window positioning feature (left or right).
- Added support to MacOS and Windows display native top bar items.
- Added support to MacOS display native top bar items.
- Support to adaptive theme (theme selection based on user system theme variant `dark` or `light`).
- Implemented `ScrollPageUp`, `ScrollPageDown`, `ScrollHalfPageUp`, `ScrollHalfPageDown`, `ScrollToTop`, `ScrollToBottom`, `ScrollLineUp`, `ScrollLineDown` (Ref: https://github.com/raphamorim/rio/issues/206).
- Support to `fonts.family` (it overwrittes regular, bold, bold-italic and italic font families).
Expand Down
109 changes: 109 additions & 0 deletions docs/_posts/2023-09-19-release-0.0.19.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
---
layout: post
title: "Settings UI, Welcome UI, Adaptive theme, crates.io and more"
date: 2023-09-19 13:53:18 +0200d
description: "Crates.io, Alpine Linux, openSUSE, Nix home manager, adaptive theme, settings UI, welcome UI, blinking cursor, plain navigation mode ..."
categories: windows macos linux webassembly
---

This post also includes changes of v0.0.19.

## Highlight #1: crates.io

Rio terminal is now also available in crates.io: https://crates.io/crates/rioterm .

{% highlight javascript %}
cargo install rioterm
{% endhighlight %}

## Highlight #2: Alpine Linux, openSUSE and Nix home manager.

• Rio has landed in Nix home manager: [nix-community/home-manager/pull/4118](https://github.com/nix-community/home-manager/pull/4118) and huge props to [@otaviosalvador](https://twitter.com/otaviosalvador) for making it possible.

• Rio has landed in Alpine Linux: [gitlab.alpinelinux.org](https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/51369) and huge props to [@androw](https://github.com/androw) for making it possible.

• Rio has landed in openSUSE: [build.opensuse.org](https://build.opensuse.org/package/show/X11:terminals/rioterm) and huge props to [@androw](https://github.com/androw) for making it possible.

## Highlight #3: Welcome screen and default creation of configuration file

Now Rio terminal does create the configuration file per first initialization.

![Welcome message](https://user-images.githubusercontent.com/240594/268500927-788ea316-ede8-4d23-ba1f-9621a6a82908.png)

## Highlight #4: Settings UI

After v0.0.19, Rio will start to provide a custom internal settings UI, where you can manage your configuration without edit the file.

![Settings UI](/rio/assets/posts/0.0.19/demo-settings.png)

Note: Not all the configuration options has been ported, so you would still need to use the config file for specific configuration updates.

## Highlight #5: Error handling

Configuration errors, command errors, font not found and etecetera are not silent anymore. This version introduces an UI for error handling.

![Settings UI](/rio/assets/posts/0.0.19/demo-error-handling.png)

## Highlight #6: Adaptive theme

Rio support theme based on the system theme (light and dark). This configuration only works for Web, MacOS and Windows.

{% highlight toml %}
[adaptive-theme]
light = "belafonte-day"
dark = "belafonte-night"
{% endhighlight %}

Example of usage with MacOS:

![Settings UI](/rio/assets/features/adaptive-theme.gif)

## Highlight #7: Blinking cursor

Rio now supports blinking cursor.

{% highlight toml %}
# Blinking Cursor
#
# Default is false
#
blinking-cursor = true
{% endhighlight %}

## Highlight #8: Navigation mode called "Plain"

Navigation mode "Plain" is perfect if you use tmux/zellij or anything similar.

Plain navigation mode will simply turn off any platform key binding, will not add any key binding (like creation of tabs, windows, panels and other platform key bindings). Note it also get rid of platform key bingins such as shift+control+c for example, to re-add it you would need to map yourself.

This mode is great if you want configure every single bit of how Rio key bindings will work.

Usage:

{% highlight toml %}
[navigation]
mode = "Plain"
{% endhighlight %}

## Full changelog of v0.0.19

- • Fix for retrieving shell environment variable when running inside of Flatpak sandbox (Ref: https://github.com/raphamorim/rio/issues/198).
- • Rio terminal is now also available in crates.io: https://crates.io/crates/rioterm .
- • Added "navigation.mode = "Plain"", it basically disables all platform key bindings for tabs, windows and panels creation (Ref https://github.com/raphamorim/rio/issues/213).
- • Support for blinking cursor (Ref: https://github.com/raphamorim/rio/issues/137) (this option is not enabled by default).
- • Migrated font-kit to a custom font loader.
- • Support to MacOS tile window positioning feature (left or right).
- • Added support to MacOS display native top bar items.
- • Support to adaptive theme (theme selection based on user system theme variant "dark" or "light").
- • Implemented "ScrollPageUp", "ScrollPageDown", "ScrollHalfPageUp", "ScrollHalfPageDown", "ScrollToTop", "ScrollToBottom", "ScrollLineUp", "ScrollLineDown" (Ref: https://github.com/raphamorim/rio/issues/206).
- • Support to "fonts.family" (it overwrittes regular, bold, bold-italic and italic font families).
- • Added a welcome screen UI.
- • Added a settings UI.
- • Exposes "RIO_CONFIG" environment variable that contains the path of the configuration.
- • Rio creates a configuration file with all defaults if does not exist.
- • Added "OpenConfigEditor" key binding for all platforms.
- • Configuration property "editor" was removed.
- • Created Assistant, Rio terminal UI for display error (Ref: https://github.com/raphamorim/rio/issues/168).
- • Fix 'Backspace' keypress triggers Ctrl+h keybinding in Zellij instead of deleting character. (Ref: https://github.com/raphamorim/rio/issues/197).
- • Implemented "TERM_PROGRAM" and "TERM_PROGRAM_VERSION" (Ref: https://github.com/raphamorim/rio/issues/200).
- • Whenever native tabs is on disable macos deadzone logic.
Binary file added docs/assets/posts/0.0.19/demo-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/assets/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -432,13 +432,13 @@ section.features .container.footer p {
font-style: normal;
letter-spacing: -0.004em;
font-size: 24px;
font-weight: bold;
text-decoration: underline;
line-height: 1.3em;
margin: 45px 0 20px 0;
}

.container.post .post-content p {
font-weight: lighter;
font-style: normal;
letter-spacing: -0.004em;
font-size: 20px;
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/configuration-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ cursor = '_'
#
# Default is false
#
blinking_cursor = true
blinking-cursor = true

# Performance
#
Expand Down
2 changes: 1 addition & 1 deletion rio-config/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ impl Default for Developer {

#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Config {
#[serde(default = "bool::default")]
#[serde(default = "bool::default", rename = "blinking-cursor")]
pub blinking_cursor: bool,
#[serde(default = "Navigation::default")]
pub navigation: Navigation,
Expand Down
10 changes: 5 additions & 5 deletions rio/src/ui/appkit/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,14 @@ pub fn create_toolbar() {
// let oi = NonNull::new(print as *mut std::ffi::c_void);

// menubar.add("Shell", |menu| {
// let mut item = NSMenuItem::new("Will be above the window data", "a", oi);
// item.set_enabled(true);
// item.set_target(1)
// menu.add(item);
// let mut item = NSMenuItem::new("Will be above the window data", "a", oi);
// item.set_enabled(true);
// item.set_target(1)
// menu.add(item);
// });

// menubar.add("Edit", |menu| {
// menu.add(NSMenuItem::new("Will be above the window data", "", None));
// menu.add(NSMenuItem::new("Will be above the window data", "", None));
// });

menubar.add("View", |_menu| {
Expand Down

0 comments on commit ba18812

Please sign in to comment.