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

Rust

6390 readers
341 users here now

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

Wormhole

!performance@programming.dev

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
[โ€“] CameronDev@programming.dev 7 points 3 days ago (1 children)

I had thought screen was pretty commonly known, but its a tool you can use to background and reconnect to a process, with the child process being completely separated from your shell. So you can ssh into a box, start a process with screen, and then logout, return later and reconnect. (It also does other stuff like read from serial consoles)

Codewise, there isnt a lot there, 3 main files (main.rs, server.rs and client.rs) all weighing in at ~200 lines.

It felt premature to add a readme at this stagr, as I dont see this as a complete thing yet, but I can add a readme later today.

Thanks for the explanation and README. I'll check it out.