| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|
|
|
|
| |
(like load-buffer and save-buffer), from Chris Pickel. Also break the
where-is-this-file code out into its own function for loadb and saveb.
|
|
|
|
| |
debugging.
|
| |
|
|
|
|
|
|
| |
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.
|
|
|
|
|
|
|
|
|
|
|
| |
main issue is that if we have two panes, A with 1002 and B with 1003, we
need to set 1003 outside tmux in order to get all the mouse events, but
then we need to suppress the ones that pane A doesn't want. This is easy
in SGR mouse mode, because buttons == 3 is only used for movement events
(for other events the trailing m/M marks a release instead), but in
normal mouse mode we can't tell so easily. So for that, look at the
previous event instead - if it is drag+release as well, then the current
event is a movement event.
|
| |
|
|
|
|
| |
of exiting it, useful if tmux wasn't exec'd itself. From Jenna Magius.
|
|
|
|
| |
check in server_client_handle_key, and tweak a comment.
|
|
|
|
|
|
| |
to avoid this can set prefix to "none" and bind send-prefix
themselves. Allows C-b t be bound in the copy mode tables again, pointed
out by millert@.
|
|
|
|
|
| |
callback, so move the callback outside of server_client_check_mouse and
use a new special key code to indicate it.
|
|
|
|
| |
KEYC_MOUSE as a placeholder. Reported by Artem Fokin.
|
|
|
|
|
|
|
|
|
|
| |
so too early, before the mouse event was necessarily valid, so could end
up using the pane from the previous mouse event, or the active pane.
It is important that we use the right pane now that different panes can
have different key tables (for copy mode).
Fixes problem reported by Greg Hurrell.
|
| |
|
| |
|
|
|
|
| |
feeds, and do not move cursor to end for full width panes).
|
|
|
|
|
|
|
| |
supports them (that is, if it advertises itself as a VT420 - probably
just xterm). These are the vertical equivalent of the scroll region and
allow much faster scrolling of panes that do not take up the full width
of the terminal.
|
|
|
|
|
|
| |
add a link of winlinks to each window and a pointer to the session to
each winlink. Also rewrite the alerts processing to return to the old
behaviour (alert in any window sets the flag on any winlink).
|
|
|
|
| |
existing hooks to use notifys instead.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
but there is also now a global command queue. Instead of command queues
being dispatched on demand from wherever the command happens to be
added, they are now all dispatched from the top level server
loop. Command queues may now also include callbacks as well as commands,
and items may be inserted after the current command as well as at the end.
This all makes command queues significantly more predictable and easier
to use, and avoids the complex multiple nested command queues used by
source-file, if-shell and friends.
A mass rename of struct cmdq to a better name (cmdq_item probably) is
coming.
|
|
|
|
|
|
| |
support line editing and instead executes a command as soon as a
non-number key is pressed. Add a -N flag to command-prompt for the same
in copy mode. Reported by Theo Buehler.
|
|
|
|
|
| |
fired then triple), and use for select-word and select-line in copy
mode. Inspired by a different solution from Omar Sandoval.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The vi-copy and emacs-copy mode key tables are gone, and instead copy
mode commands are bound in one of two normal key tables ("copy-mode" or
"copy-mode-vi"). Keys are bound to "send-keys -X copy-mode-command". So:
bind -temacs-copy C-Up scroll-up
bind -temacs-copy -R5 WheelUpPane scroll-up
Becomes:
bind -Tcopy-mode C-Up send -X scroll-up
bind -Tcopy-mode WheelUpPane send -N5 -X scroll-up
This allows the full command parser and command set to be used - for
example, we can use the normal command prompt for searching, jumping,
and so on instead of a custom one:
bind -Tcopy-mode C-r command-prompt -p'search up' "send -X search-backward '%%'"
command-prompt also gets a -1 option to only require on key press, which
is needed for jumping.
The plan is to get rid of mode keys entirely, so more to come eventually.
|
| |
|
|
|
|
|
| |
they are enabled and break the actual screen generation code into a
separate function. Fixes problems reported by Romain Francoise.
|
|
|
|
|
| |
SIGWINCH when the size changes rapidly. To help a problem reported by
Rui Pinheiro.
|
|
|
|
| |
command-prompt, rather than always just selecting the pane.
|
| |
|
|
|
|
|
|
|
|
|
| |
pane-border-status is set to "top" or "bottom" (rather than "off"),
every pane has a permanent top or bottom border containing the text from
pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and
simplified by me.
|
|
|
|
| |
session attached flag is correct.
|
|
|
|
| |
MouseDragEnd. It can be useful to bind them separately in copy mode.
|
|
|
|
| |
doing the drag end in code. From Stephen Coakley.
|
| |
|
|
|
|
| |
alone and use it to add pane_died and pane_exited hooks.
|
|
|
|
| |
infrastructure that will be needed soon.
|
|
|
|
| |
different key bindings for different sessions and a few other things.
|
|
|
|
| |
would rather bind the prefix in the root table).
|
|
|
|
| |
command name (will also be used for more later).
|
| |
|
|
|
|
|
|
| |
couple of not very useful client hooks. This will eventually let
commands be run at various points and on notifications. Joint work with
Thomas Adam.
|
|
|
|
| |
very large terminals, from Michael Graczyk.
|
|
|
|
|
|
|
|
| |
poor idea that was fairly quickly replaced by SGR mouse input (which is
now widespread). It is impossible to tell the difference between UTF-8
and non-UTF-8 mouse input; since the mouse-utf8 option was removed tmux
has not handled it correctly in any case; and it is ridiculous to have
three different forms of mouse input.
|
|
|
|
|
| |
people who can type ^B c very fast, or who are using tmux inside
something else that buffers.
|
| |
|
|
|
|
| |
continue if the send fails.
|
|
|
|
|
|
| |
uint64_t and converting UTF-8 to Unicode on input and the reverse on
output. (This allows key bindings, there are still omissions - the
largest being that the various prompts do not accept UTF-8.)
|
|
|
|
| |
it supports UTF-8.
|
|
|
|
| |
it once at startup instead of in every call to tty_open.
|