mobile-shell / mobile-shell/mosh
Synchronized Output (DEC private mode 2026) support
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 14.5k
- Forks
- 865
- PR merge metrics
- No merged PRs in 30d
Description
Synchronized output is a terminal extension spec that has been implemented in several apps including tmux, neovim and kakoune.
"The goal of synchronized updates is to avoid showing a half-drawn screen, such as while paging through a document in an editor.
A new control sequence is proposed that indicates the beginning and end of a update. No new content should be rendered by the terminal emulator until the update ends, at which point any changes made during the update should be applied atomically.
The purpose of this sequence is to provide a hint to the terminal emulator about how to draw atomically. If it turns out to be too difficult to do under some particular input, the hint can be safely ignored."
AFAIK, mosh-server is in an advantageous position to respond to ?2026-capable apps and could produce more efficient diffs as a result.
Original proposal: https://gitlab.com/gnachman/iterm2/-/wikis/synchronized-updates-spec
Living document by a third party: https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036
Spec discussion: https://gitlab.freedesktop.org/terminal-wg/specifications/-/merge_requests/2
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the synchronized updates specification links in the issue and then trace how mosh-server handles terminal output and diffs. Done means supporting the ?2026 begin/end control sequences in a way that can produce more efficient diffs without disrupting terminal output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100