Hi! I've been running Limux over SSH a lot and put together a branch that brings the cmux SSH experience to Limux. I would like to bring those changes to the main branch of the project, but before I open PR, I wanted to check whether you'd want this upstream and, if so, in what shape.
What it adds (all mirroring existing cmux features):
- SSH connection manager — an "SSH HOSTS" sidebar section (add/edit/delete + click-to-connect) reading
~/.ssh/config; connecting opens a workspace whose pane execs ssh. Re-clicking a host reuses its workspace instead of duplicating it.
- Persistence + auto-reconnect — remote
tmux new-session -A so work survives drops/reboots; on a dropped link the pane reconnects in place (capped backoff).
- Clipboard image paste — locally, and into a remote agent by
scp-ing the image and injecting the remote path (Limux has no image paste today).
- Agent notifications over SSH — a coding agent running on the remote raises desktop notifications on the local machine (OSC-777 fallback when the control socket isn't reachable), with opt-in provisioning of a small static helper.
Why it should be low-risk to take:
- Zero new dependencies — ssh/scp/tmux are invoked as external tools; no new crates in
Cargo.toml/Cargo.lock.
- Fully opt-in / back-compatible — dormant until you open an SSH host; old
session.json files load unchanged (new fields are #[serde(default)]); a non-SSH user pays zero new runtime cost.
- Passes the
scripts/check.sh gate (fmt + clippy -D warnings + tests) and adds regression tests in the established shape.
What I'd like to know:
- Is SSH support something you want in Limux, or do you have your own design/plan for it? (Happy to hand over the design notes if you'd rather implement it yourself.)
- If you'd take a contribution — would you prefer one PR, or a stacked series of smaller PRs (for example ① connection manager + workspaces → ② persistence/auto-reconnect → ③ image paste → ④ notifications)?
- Any additional constraints I should honor up front (dependency policy, packaging, platform scope, commit/style conventions beyond what's in
AGENTS.md)?
I've kept everything close to how cmux behaves — where I diverge (a GUI host book vs cmux's ssh -G/URL flow; real tmux vs cmux's daemon; OSC-777 vs cmux's reverse relay) it's a deliberate Linux-native substitution, and I'm glad to adjust.
Thanks for Limux!
And here is a couple of screenshots of how it looks like in GUI:
Raw:

With comments:

Hi! I've been running Limux over SSH a lot and put together a branch that brings the cmux SSH experience to Limux. I would like to bring those changes to the main branch of the project, but before I open PR, I wanted to check whether you'd want this upstream and, if so, in what shape.
What it adds (all mirroring existing cmux features):
~/.ssh/config; connecting opens a workspace whose pane execsssh. Re-clicking a host reuses its workspace instead of duplicating it.tmux new-session -Aso work survives drops/reboots; on a dropped link the pane reconnects in place (capped backoff).scp-ing the image and injecting the remote path (Limux has no image paste today).Why it should be low-risk to take:
Cargo.toml/Cargo.lock.session.jsonfiles load unchanged (new fields are#[serde(default)]); a non-SSH user pays zero new runtime cost.scripts/check.shgate (fmt + clippy-D warnings+ tests) and adds regression tests in the established shape.What I'd like to know:
AGENTS.md)?I've kept everything close to how cmux behaves — where I diverge (a GUI host book vs cmux's
ssh -G/URL flow; realtmuxvs cmux's daemon; OSC-777 vs cmux's reverse relay) it's a deliberate Linux-native substitution, and I'm glad to adjust.Thanks for Limux!
And here is a couple of screenshots of how it looks like in GUI:
Raw:

With comments:
