Skip to content

tmux compat: implement issue-153 command set with matrix tests - #221

Merged
lawrencecchen merged 2 commits into
mainfrom
issue-153-tmux-compat
Feb 21, 2026
Merged

lawrencecchen merged 2 commits into
mainfrom
issue-153-tmux-compat

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Feb 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Implements the full tmux-compat command set tracked in #153 in one PR.

Added server methods/capabilities

  • workspace.next
  • workspace.previous
  • workspace.last
  • surface.clear_history
  • pane.resize (returns explicit not_supported until divider API support exists)
  • pane.swap
  • pane.break
  • pane.join
  • pane.last

Added CLI tmux-compat commands

  • capture-pane
  • resize-pane
  • pipe-pane
  • wait-for
  • swap-pane
  • break-pane
  • join-pane
  • next-window
  • previous-window
  • last-window
  • last-pane
  • find-window
  • clear-history
  • set-hook
  • popup (explicit not_supported)
  • bind-key (explicit not_supported)
  • unbind-key (explicit not_supported)
  • copy-mode (explicit not_supported)
  • set-buffer
  • list-buffers
  • paste-buffer
  • respawn-pane
  • display-message

Test coverage

  • Existing: tests_v2/test_read_screen_capture_pane_parity.py
  • Existing: tests_v2/test_rename_window_workspace_parity.py
  • New matrix: tests_v2/test_tmux_compat_matrix.py
    • validates all commands above, including explicit not_supported behavior where intended.

Validation

Executed locally against the tagged build socket:

  • CMUX_SOCKET=/tmp/cmux.sock CMUXTERM_CLI=/tmp/cmux-issue-153-tmux-compat/Build/Products/Debug/cmux python3 tests_v2/test_read_screen_capture_pane_parity.py
  • CMUX_SOCKET=/tmp/cmux.sock CMUXTERM_CLI=/tmp/cmux-issue-153-tmux-compat/Build/Products/Debug/cmux python3 tests_v2/test_rename_window_workspace_parity.py
  • CMUX_SOCKET=/tmp/cmux.sock CMUXTERM_CLI=/tmp/cmux-issue-153-tmux-compat/Build/Products/Debug/cmux python3 tests_v2/test_tmux_compat_matrix.py

Implement workspace.rename in the v2 API and wire CLI commands rename-workspace/rename-window with help text.

Add a regression test that validates API and CLI rename parity plus error handling.

Refs: #153
@cmux-agent

cmux-agent Bot commented Feb 21, 2026 •

Copy link
Copy Markdown
Contributor
Older manaflow preview screenshots (latest comment is below)

Preview Videos and Screenshots

Open Workspace (1 hr expiry) · Open Dev Browser (1 hr expiry) · Open Diff Heatmap

Failed to capture screenshots for commit 2eb3afd.

Claude Code native binary not found at /root/.bun/bin/claude. Please ensure Claude Code is installed via native installer or specify a valid path with options.pathToClaudeCodeExecutable.


Generated by manaflow preview system

@vercel

vercel Bot commented Feb 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cmux Ready Ready Preview, Comment Feb 21, 2026 2:05am

@cmux-agent

cmux-agent Bot commented Feb 21, 2026 •

Copy link
Copy Markdown
Contributor

Preview Videos and Screenshots

Open Workspace (1 hr expiry) · Open Dev Browser (1 hr expiry) · Open Diff Heatmap

Failed to capture screenshots for commit b3bf09d.

Claude Code native binary not found at /root/.bun/bin/claude. Please ensure Claude Code is installed via native installer or specify a valid path with options.pathToClaudeCodeExecutable.


Generated by manaflow preview system

@lawrencecchen lawrencecchen changed the title tmux compat: add rename-window workspace rename support tmux compat: implement issue-153 command set with matrix tests Feb 21, 2026
@lawrencecchen
lawrencecchen merged commit 6cb282b into main Feb 21, 2026
5 checks passed
@lawrencecchen
lawrencecchen deleted the issue-153-tmux-compat branch February 21, 2026 02:22
bn-l pushed a commit to bn-l/cmux that referenced this pull request Apr 3, 2026
…low-ai#221)

* Add tmux rename-window workspace compatibility

Implement workspace.rename in the v2 API and wire CLI commands rename-workspace/rename-window with help text.

Add a regression test that validates API and CLI rename parity plus error handling.

Refs: manaflow-ai#153

* Add full tmux compatibility command matrix and regression coverage
austinywang added a commit that referenced this pull request Sep 18, 2026
cmux main moved its Ghostty pin to 35ae29b7c2 in #12669. That SHA contains
fork main's merge of PR #221 (3869e81a0), so the NFD Hangul shaping fix is
already on main; its src/font tree is identical to the tested 370f08cf1.
Record the pin's lineage, the archive main pinned for it, and keep the
370f08cf1 archive noted as the build the runtime proof used. The doc on main
still named abd40f6e4.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

This branch was successfully deployed

1 active deployment
Preview — b3bf09d5 Deployed Feb 21, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant