Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Tmux control mode #6602

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
Open

feat: Tmux control mode #6602

wants to merge 13 commits into from

Conversation

joexue
Copy link

@joexue joexue commented Jan 25, 2025

Complete the unfinished tmux control mode functionalities for #336, includes:

  • Fix the crash when enter the tmux control mode
  • Fix press 'q' cannot quit the tmux control mode instantly
  • Sync the tabs(tmux call it window), panels, split panels
  • Sync the context, include maximum 2000 lines history, cursor
  • Sync the window name
  • Sync the tab/panel focus to back end
  • Sync the window/panel size change to back end
  • Focus on the window/panel when last time detach
  • Prune the panels/windows when the back end quit them
  • Spawn tab
  • Split panel
  • Tmux backwards compatibility

Passed all tests by "cargo test --all"
Updated the "cargo fmt --all"

Tested under tmux 3.4 and tmux 2.7

All the functionalities I planned are done, now I can use wezterm to replace iTerm2 completely. Universal terminal for all Windows, Linux and MacOS.

image

@joexue joexue mentioned this pull request Jan 25, 2025
9 tasks
@jayPare
Copy link

jayPare commented Feb 3, 2025

Didn't looked at the code since I'm not very familiar with Wezterm code base, but I might take a quick look. However, I built from source on Windows and tested connecting to tmux 3.4 on a Linux machine. Everything seems to work properly. Thank you for that!

@joexue
Copy link
Author

joexue commented Feb 4, 2025

Didn't looked at the code since I'm not very familiar with Wezterm code base, but I might take a quick look. However, I built from source on Windows and tested connecting to tmux 3.4 on a Linux machine. Everything seems to work properly. Thank you for that!

Thanks for testing it, will push the last part tonight, then I think all functionalities are done.

@felixding
Copy link

felixding commented Feb 5, 2025

Thank you for your work. AFAIK, this is the first full implementation of tmux control mode besides iTerm2. Really looking forward to it.

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.

3 participants