Skip to content

warpcli/hexe

Repository files navigation

Hexa

A session-based terminal workspace where the frontend is disposable and your shells are not.

Crash the terminal frontend, restart it, reattach, and your terminals keep running exactly where you left them.


How it works

Hexa splits into four layers:

  • hexe terminal — the terminal UI frontend (aliases: hexe mux, hexe multiplexer).
  • shared frontend runtime — attach lifecycle, transport, and the frontend-side session projection.
  • hexe session / hexe ses — the session authority that owns canonical session state.
  • hexe pod — one per pane. Owns the PTY, holds the shell, buffers output even while detached.

See architecture for the full picture.


Docs

Topic Description
Architecture How terminal, runtime, ses, and pod fit together
Sessions Detach, reattach, layouts, pane adoption
Floats Overlay panes — per-directory, persistent, isolated
Float attributes Detailed flag reference for float behavior
Keybindings Binding system, actions, conditions, gestures
Status bar & prompt Segments, animations, conditions
Isolation Linux namespace + cgroup sandboxing for panes
Instances Running multiple independent stacks side by side
Config Full config reference
CLI All commands and flags
Sprites Pokemon sprite overlays

Quick start

Build (requires Zig):

zig build -Doptimize=ReleaseFast

Run:

hexe terminal new

Detach (default: Alt+Shift+D release), then reattach:

hexe terminal attach <session-name-or-prefix>
hexe session list   # to find sessions

Config lives at ~/.config/hexe/init.lua. See config.


History

Started as bash and Python hacks wrapped around tmux. Absolutely cursed code. Shell scripts spawning tmux sessions, Python daemons talking to tmux through send-keys, config files that were basically more shell scripts. It was wild. But it worked, and it was the workflow I wanted.

Rewrote it properly in Rust on top of tmux-rs, got far, learned a lot about terminal internals. But that crate is mostly unsafe and you're still building on top of tmux's architecture rather than escaping it.

Then Ghostty came out. Saw what Mitchell was doing with Zig and decided to start from scratch. Zero regrets. Zig is a joy, Ghostty's VT implementation is solid, and the architecture finally matches what I actually wanted to build.


Credits

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages