- ESC[?u goes to every VT100-like terminal at attach, whatever the
options.
- A reply turns on a new kittykeys terminal feature. Users can force
it on or off with terminal-features kittykeys, including kittykeys@
to turn it off.
- Changing extended-keys now takes effect immediately for attached
clients (options.c).
Use, per client, when extended-keys is on: Kitty for clients that have
kittykeys, modifyOtherKeys for clients with extkeys, VT10x otherwise.
Pane side:
- Applications can request either protocol; Kitty wins if one asks for
both.
- Each application gets what it asked for, whichever client typed the
key.
- ESC[?u is answered truthfully.
- The per-client gate is gone. window.c and popup.c are simply
master's versions again.
extended-keys always is back to its master meaning, forcing
modifyOtherKeys mode 1 only. Forcing Kitty on every program would have
sent bash ESC[97;5u for Ctrl-A.
extended-keys-format kitty is still accepted, but now behaves the same
as csi-u.
* refs/remotes/tmux-openbsd/master:
Do not try to decode UTF-8 if it is too long to match the pattern.
Do not allocate for repeat inside loop but allocate up front and just copy in the loop.
* refs/remotes/tmux-openbsd/master:
Copy all #s at once when multiple are seen before [ rather than only copying one at a time which can be very slow.
Check time every iteration for expensive repeat loop.
* refs/remotes/tmux-openbsd/master:
build tmux with debug symbols, ok claudio nicm
If no floating panes, reset default starting position, and reset if any part of the pane goes outside the window.
Empty string for invalid old-style formats causes old iTerm2 versions to crash, so emit "0000," instead.
Fix session_*_flag format variables which loop over the windows (they should only be false if all windows do not have the flag, not the first one). GitHub issue 5599.
Do not loop forever if someone tries to give WCHAR_MAX a width, GitHub issue 5602.
Expand -c for run-shell like the other -c flags, reported by Saúl Nogueras.
Reset layout manually instead of calling window_unzoom which can go down the notification path and end up double freeing the pane (this was previously removed in 2015 but added back to fix a problem with late destroy - this is a better fix). GitHub issue 5591 from Romain Francoise.
* 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:
Use ACS arrows for tree mode.
Do not crash when synchronizing groups and there is no current window. GitHub issue 5467 from Ju-an Zhang.
Add pane_private_modes format with list of DEC private modes, from George Nachman.
Do not log when logging is off, from Michael Grant.
* refs/remotes/tmux-openbsd/master:
Small section missed from previous.
Add modal panes, created currently with new-pane -O. There is one modal pane per window and it must be a floating pane. These are intended to replace popups. Currently a modal pane will unzoom a zoomed window and rezoom it when it is closed (a bit like modes do), but this is planned to change when we get an always-on-top flag.
pane per window and it must be a floating pane. These are intended to
replace popups. Currently a modal pane will unzoom a zoomed window and
rezoom it when it is closed (a bit like modes do), but this is planned
to change when we get an always-on-top flag.
* refs/remotes/tmux-openbsd/master:
build: don't exit
build: always attempt portable merge
build: capture openbsd-base before filtering
build: fetch cutover master before merge
Use _exit in child after fork, from Yayo Razo in GitHub issue 5376.
Add missing calloc check and use fatal. Prompted by a similar change from Yayo Razo.
actions: use published openbsd-git as base update
github actions: automate updates
Do not make pty fds blocking again until all the data has been consumed or control mode clients can get stuck, GitHub issue 5356 from Ben Maurer.
Add formats and events for OSC 133 commmands, as well as a -T flag to set-hook -B to only fire when the format is true.
Replace the notification system with events. Events can carry a payload of additional payload (to reduce problems with lifetime of objects) and are delivered to one or more event sinks. This is more powerful and reduces the complex dependencies between control mode and hooks. Events are now used for hooks, control mode notifications and for monitors (set-hook -B).
additional payload (to reduce problems with lifetime of objects) and are
delivered to one or more event sinks. This is more powerful and reduces the
complex dependencies between control mode and hooks. Events are now used for
hooks, control mode notifications and for monitors (set-hook -B).
wait-for can now wait for an event to fire (-E flag, with -F to for filter),
with -v to print the payload, as well as listing (-l) waiting clients on an
event and forcing one to wake (-w).
A few additional hooks are also now available (pane-created, pane-resized, etc)
and some of the existing ones have additional format variables available.