🫲 wye 🫱
Wye is reverse tee.
Wye is a simple terminal tool that works like a reverse tee. Instead of splitting one input into multiple outputs, wye combines multiple inputs into one terminal session. It reads commands from your keyboard and also from a special file called a named pipe.
It gives you terminal sessions like tmux
, but in a much simpler way without a background server.
The main goal of wye is to work together with programs like tmux
. It gives you a simple way to send commands and text to a terminal session from a different window or from a script.
To start a new session with your default shell, just run:
wye
To run a different program inside the session, pass it as an argument:
wye lua
This creates a session with a number that you can easily find later.
wye -s123
If you are already inside a wye
session, running wye
again will not start a new one. It will just show you the current session number.
Wye manages sessions using special files called named pipes. Each session has its own pipe file located in /tmp/wye-<session_number>
.
To send a command to a running session, you just need to write to its pipe file. For example, to send the ls -l
command to session 123
, you can run this from another terminal:
echo "ls -l" > /tmp/wye-123
The command will appear in the wye
session as if you typed it.
cargo build --release
The final program will be located at target/release/wye
.
cargo install --path .
Open new terminal window and run wye
.