Greetings! After a couple of months of R&D I finally reached a place with this project where I’m using it as a fulltime replacement for what I would normally use <code>tmux</code> for: session persistence of terminal processes This essentially extracts the attach/detach functionality from <code>tmux</code> and turns it into its own tool. Instead of using tmux for windows, tabs, and splits, you would instead leverage your own window manager to handle that. Another neat aspect of this tool is terminal state and history restoration using <code>libghostty-vt</code>. We use libghostty-vt to restore the previous state of the terminal when a client re-attaches to a session. How it works: <pre><code>- user creates session zmx attach term
- user interacts with terminal stdin
- stdin gets sent to pty via daemon
- daemon sends pty output to client and ghostty-vt
- ghostty-vt holds terminal state and scrollback
- user disconnects
- user re-attaches to session
- ghostty-vt sends terminal snapshot to client stdout </code></pre> In this way, ghostty-vt doesn’t sit in the middle of an active terminal session, it simply receives all the same data the client receives so it can re-hydrate clients that connect to the session. This enables users to pick up where they left off as if they didn’t disconnect from the terminal session at all. Comments
You must log in or register to comment.

