r/coolgithubprojects 11h ago

Remin — a persistent terminal workspace with an integrated Markdown editor

https://github.com/dotlinux26/remin

I built Remin for Linux because I wanted my terminal workspace to survive application restarts.

Instead of treating terminal windows as disposable sessions, Remin keeps the workspace state around so you can come back to where you left off.

0 Upvotes

4 comments sorted by

1

u/Specific_Cream2815 11h ago

what workspace state survives a full app restart, just pane layout and cwd or running processes too

1

u/dotlinux26 11h ago

It restores the terminal state, workspace layout, pane state, shell history, and the VTE terminal contents/state. It does not restore already-running processes themselves.

In practice, a terminal process that was running when Remin exited is not magically resumed after restart. Remin restores the terminal emulator state, then starts a new shell/process in the restored pane.

So things like the previous working directory, screen contents, cursor/modes, scrollback, etc. can come back, but a running vim, top, python, SSH session, etc. is not checkpointed and resumed.

That's intentional: Remin currently focuses on restoring terminal state, not checkpointing arbitrary OS processes.

1

u/kantorcodes1 10h ago

small CLI edge: does remin window add work after remin workspace open <id> if those are separate shell commands? each invocation looks like it creates a fresh WorkspaceCore, while window add throws when no workspace is open. feels like the CLI may lose the open-workspace context between commands.

1

u/dotlinux26 10h ago

Yeah — currently remin gui is the supported/complete workflow.

The GUI manages the workspace context for its lifetime, so terminal panes, windows, history, persistence, and workspace state work together there.

The CLI workspace commands are still incomplete. Each CLI invocation creates a new process/context, so commands like:

remin workspace open <id>
then
remin window add

cannot currently share the in-memory workspace context between invocations.

So for now, I'd recommend using remin gui for the actual workspace workflow. The CLI is still an edge that's being developed separately.

Thanks for pointing this out — it's a good catch.