repos / zmx

session persistence for terminal processes
git clone https://github.com/neurosnap/zmx.git

commit
aaffdce
parent
7f18a23
author
Eric Bower
date
2025-11-28 22:31:12 -0500 EST
docs: readme
1 files changed,  +8, -5
M README.md
+8, -5
 1@@ -6,15 +6,18 @@ session persistence for terminal processes
 2 
 3 - Persist terminal shell sessions (pty processes)
 4 - Ability to attach and detach from a shell session without killing it
 5-- Supports all the terminal features that the client's terminal emulator supports
 6 - Native terminal scrollback
 7 - Manage shell sessions
 8 - Multiple clients can connect to the same session
 9-- The `daemon` and client processes communicate via a unix socket
10-- Each session creates its own unix socket file `/tmp/zmx/*`
11 - Re-attaching to a session restores previous terminal state and output
12-- This project does **NOT** provide windows, tabs, or window splits
13 - Works on mac and linux
14+- This project does **NOT** provide windows, tabs, or window splits
15+
16+## impl
17+
18+- The `daemon` and client processes communicate via a unix socket
19+- Each session creates its own unix socket file `/tmp/zmx/*`
20+- Restoring terminal sessions uses `libghostty-vt`
21 
22 ## usage
23 
24@@ -78,7 +81,7 @@ We store global logs for cli commands in `/tmp/zmx/logs/zmx.log`. We store sessi
25 
26 ## a note on configuration
27 
28-At this point, nothing is configurable and we aren't convinced they should ever be configurable. Configuration adds complexity and it forces maintainers to support users changing the default behavior. This is a burden. For example, if we allow changing the detach key shortcut then we need to debug all the different incantations people come up with which can be very tricky in a terminal environment. We have figured out how to support `ctrl+\` because we think this is a great option. Tread lightly when submitting PRs to add configuration to this tool. Having said that, we will always entertain configuration ideas.
29+At this point, nothing is configurable.  We are evaluating what is necessary to be able to configure and what should not.  Every configuration option is a burden for us maintainers.
30 
31 ## a smol contract
32