Rebuilding the folded view wrote a linefeed for every source line, including
the blank lines at the end, so shrinking the window scrolled the collapsed
output into history. Stop at the last non-blank line and rebuild a folded view
at the new size when the window is resized.
When no cursor position could be restored, the fallback used the source row,
which can be past the bottom of the shorter folded view and was then used to
index the grid. Fall back to the nearest visible line and clamp to the screen.
Keep the unfolded source only while fold view is on, so plain copy mode is
back to the incremental sync with one copy of the history. Document
toggle-output -m, and rename struct input_osc_133_ctx to struct osc133_marker.
Line numbers started with L stay absolute when fold view is toggled.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Use the parent output-range implementation and preserve source rows and columns when output is folded or wrapped. Clear stale exit-status presence on repeated D markers. Apply the requested coding style and add regressions for folded output selections and prompt properties.
* refs/remotes/tmux-openbsd/master:
Add commands to copy mode to select, pipe and open OSC 133 command output, from Michael Grant.
Fix bugs with empty panes and load-buffer -w, GitHub issue 5701 from Alexandre Fiori.
Track allocations in yacc to avoid leaking when parsing commands, GitHub issue 5632 from Jeong, Heon.
Fix commands being lost when chained with assignment, GitHub issue 5702 from Jeong, Heon
* refs/remotes/tmux-openbsd/master:
Show match count in copy mode, GitHub issue 5399.
Add window-default-command option to override default-command per window, from Meriel Sartha Mittelbach.
Do not change active pane if joining a pane to the same window. Reported by David le Blanc.
* refs/remotes/tmux-openbsd/master:
Parse terminal replies with keys and apply them only when finished, so that a preceding Escape can be handled correctly. GitHub issue 5676 from Joan Fabrégat.
Use the .Cm macro for keywords used as arguments to commands and options, mostly replacing dubious use of .Ic, but a few others as well; nicm@ agrees with the general direction.
* refs/remotes/tmux-openbsd/master:
Add table for destroy-unattached.
Do not allow drags started on status line to trigger pane key bindings, GitHub issue 5692.
* refs/remotes/tmux-openbsd/master:
Improve text about status lines, GitHub issue 5677.
Redraw selections after scrolling to line boundaries, GitHub issue 5689 from bugreporter23 at gmail dot com.
* refs/remotes/tmux-openbsd/master:
Add a feature for mintty's application escape to avoid dodgy terminals whinging about not supporting it, GitHub issue 5626 from Pete Dietl.
Only rely on the previous line wrapping when the cursor is actually on it, GitHub issue 5625 from Ben Maurer.
Correctly write Z indexes to v2 layouts if zoomed, GitHub issue 5624.
Do not leak waiting clients (in wait-for) if they are killed, GitHub issue 5614.
* refs/remotes/tmux-openbsd/master:
Remove popups and all the associated overlay machinery (they were the last user of it). display-popup stays but becomes an (undocumented) compatibility command to open a floating pane.
Fix typo (too few 0s) in CLIENT_CONTROL_DISCARD, from someone in GitHub issue 5622.
* refs/remotes/tmux-openbsd/master:
Add remain-on-exit failed-key and a -D flag to new-pane to have a modal pane wait for Escape/C-c. Both to allow better compatibility with popups.
* refs/remotes/tmux-openbsd/master:
Add new layout format which includes floating panes. The new format is now a JSON subset which is less fragile and easier to handle than the old custom format. The old (version 1) format is still supported for control mode clients for now - they must set the new-layouts flag to receive the new format. From Dane Jensen.
now a JSON subset which is less fragile and easier to handle than the
old custom format. The old (version 1) format is still supported for
control mode clients for now - they must set the new-layouts flag to
receive the new format. From Dane Jensen.
* refs/remotes/tmux-openbsd/master:
Add a function to find last pane index, from Dane Jensen.
Add a parser for a subset of JSON, will be used for new layout strings (and maybe some other stuff), from Dane Jensen.
Add capture-pane -I to show times.
* refs/remotes/tmux-openbsd/master:
When changing selection-mode to line, set up the selection start and end correctly, GitHub issue 5545.
Extend word commands to use any Unicode whitespace character, GitHub issue 5562 from Hongyi Zhao.
* refs/remotes/tmux-openbsd/master:
Add a generation counter to pane output, from Michael K Darling.
Add format variables for history change counters, from Michael K Darling.
* refs/remotes/tmux-openbsd/master:
Add a clear-on-attach option which when turned off scrolls away the existing terminal state instead of entering the alternate screen. This is useful in environments where tmux is started as a login shell but it is important that any pre-tmux messages are still visible. GitHub issue 5508 from Josef Řídký.
existing terminal state instead of entering the alternate screen. This
is useful in environments where tmux is started as a login shell but it
is important that any pre-tmux messages are still visible. GitHub issue
5508 from Josef Řídký.