this post was submitted on 17 Feb 2025
28 points (96.7% liked)

Rust

6399 readers
204 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

[email protected]

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 2 years ago
MODERATORS
 

I dunno if this is appropriate for this community, so mods, please delete if not.

I have been writing a screen clone in rust.

https://github.com/cameroncros/PoorMansScreen/tree/better_screen (The main branch is how I currently use it, not at all screen-like, the better_screen branch is much closer to a screen replacement.)

It all currently works fine, albeit quite simple, and I suspect not following best practices. Please talk shit about my code so I can fix that :D

For my next stage of development, I would like to use some combo of vt100 and ratatui to wrap the shell in a border, or add a menu bar at the top or bottom to make it clear when the user is inside a "screen". Does anyone have any thoughts on how to go about doing that? I am very unskilled at ratatui.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 4 days ago* (last edited 4 days ago) (1 children)

My first thoughts was also "Don't. Clone tmux instead." But don't use ctrl-b. It's a massively awkward and annoying combo on common keyboards. And don't make it necessary to release ctrl before the second key.

[–] BB_C 3 points 4 days ago (1 children)

But don’t use ctrl-b

What migrant from screen didn't start by adding this to tmux config? 😄

set-option -g prefix C-a
unbind-key "C-b"
bind-key "C-a" send-prefix
[–] [email protected] 1 points 12 hours ago

I do the same, but with ctrl-t. Ctrl-a means select all, and t means "tmux" and happens to be under my right middle finger on my layout (dvorak).