Diss
dtach-like program / crate in rust
Install / Use
/learn @yazgoo/DissREADME
<table>
<tr>
<td>
<img src=doc/diss_logo.png width=100>
</td>
<td>
<b>diss</b>ociate (verb):
<pre>
1. (especially in abstract contexts) disconnect or separate.
</pre>
</td>
</tr>
</table>
What is diss ?
Diss:
- dissociates a program from current terminal
- is like dtach, abduco (think GNU screen or tmux without multiplexing)
- is also a rust crate you can easily integrate
How do I use diss CLI ?
installing
- install cargo
- run
cargo install diss
create session (or reatach if already exists), detach with CTRL+g
diss -e g -a session-name vim hello
attach to running session
diss -e g -a session-name
list running sessions
diss -l
projects based on diss
- vmux, a vim terminal multiplexer
How does diss work ?

When you start a diss new diss session, diss will launch a server, which will:
- create and bind to a unix domain socket (located in
~/.config/diss) - daemonize the process (so it is not a child of current terminal)
- fork with ptmx / ptms:
- in the child, launch the program you want to use with a pseudo terminal
- start a program event thread waiting for events from the child
- in the parent, will start waiting for connection from client
Diss will then start a client which will:
- connect to the server unix domain socket
- send terminal size to the server
- send a flush request to the server
- in a thread, take events from the terminal and forward them via the socket
- read server output as raw bytes and print them in the terminal
When a client connect, the server will:
- add the client unix stream to the program event thread
- create a new thread to receive events from the client and forward them to the child
Related Skills
node-connect
347.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
