Instant Terminal Sharing
Go to file
Nicholas Marriott d7626cd9d7 When drawing lines that have wrapped naturally, don't force a newline but
permit them to wrap naturally again. This allows terminals that use this to
guess where lines start and end for eg mouse selecting (like xterm) to work
correctly.

This was another long-standing issue raised by several people over the last
while.

Thanks to martynas@ for much testing. This was not trivial to get right so
bringing it in for wider testing and adn to fix any further glitches in-tree.
2009-10-12 17:19:47 +00:00
array.h Import tmux, a terminal multiplexor allowing (among other things) a single 2009-06-01 22:58:49 +00:00
attributes.c Don't dereference NULL if buf winds up being empty. Can't happen 2009-06-02 11:14:08 +00:00
buffer-poll.c Rather than running status-left, status-right and window title #() with popen 2009-10-10 15:03:01 +00:00
buffer.c A few trivial optimisations: no need to check for zero size if calling 2009-08-20 19:14:42 +00:00
cfg.c When using source-file, run the commands in the context of the source-file 2009-08-23 17:29:51 +00:00
client-fn.c Switch tmux to use imsg. This is the last major change to make the 2009-08-11 17:18:35 +00:00
client.c Support -c like sh(1) to execute a command, useful when tmux is a login 2009-09-23 12:03:30 +00:00
clock.c Permit options such as status-bg to be configured using the entire 256 colour 2009-09-10 17:16:24 +00:00
cmd-attach-session.c Infrastructure and commands to manage the environment for processes started 2009-08-08 21:52:43 +00:00
cmd-bind-key.c Final pieces of mode key rebinding: bind-key and unbind-key now accept a -t 2009-07-28 17:05:10 +00:00
cmd-break-pane.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
cmd-choose-client.c Reference count clients and sessions rather than relying on a saved index for 2009-09-07 21:01:50 +00:00
cmd-choose-session.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
cmd-choose-window.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
cmd-clear-history.c Remove some dead code found by clang. 2009-07-30 17:29:12 +00:00
cmd-clock-mode.c Now that pane targets (-t) are supported, switch some commands to use them 2009-08-18 16:21:04 +00:00
cmd-command-prompt.c Use KEYC_NONE constant instead of 0 on init. 2009-09-21 15:32:06 +00:00
cmd-confirm-before.c The cursession member in struct cmd_ctx is always either curclient->session or 2009-08-23 16:45:00 +00:00
cmd-copy-buffer.c Use KEYC_NONE constant instead of 0 on init. 2009-09-21 15:32:06 +00:00
cmd-copy-mode.c Remove scroll mode which is now redundant, copy mode should be used instead. 2009-10-06 07:19:32 +00:00
cmd-delete-buffer.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-detach-client.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-display-message.c Rather than running status-left, status-right and window title #() with popen 2009-10-10 15:03:01 +00:00
cmd-display-panes.c Add a new display-panes command, with two options (display-panes-colour and 2009-08-31 20:46:19 +00:00
cmd-down-pane.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-find-window.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-generic.c Initialise the arg2 pointer properly (also free it when freeing the 2009-08-26 18:09:52 +00:00
cmd-has-session.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-if-shell.c Convert if-shell over to the background job framework as well. 2009-10-11 09:10:57 +00:00
cmd-kill-pane.c Move some common and untidy code for window link/unlink into generic functions 2009-09-20 17:27:18 +00:00
cmd-kill-server.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-kill-session.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
cmd-kill-window.c Move some common and untidy code for window link/unlink into generic functions 2009-09-20 17:27:18 +00:00
cmd-last-window.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-link-window.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
cmd-list-buffers.c Give each paste buffer a size member instead of requiring them to be 2009-09-07 18:50:45 +00:00
cmd-list-clients.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-list-commands.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-list-keys.c Final pieces of mode key rebinding: bind-key and unbind-key now accept a -t 2009-07-28 17:05:10 +00:00
cmd-list-panes.c Split list-panes off from list-windows. 2009-10-10 17:19:38 +00:00
cmd-list-sessions.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
cmd-list-windows.c Split list-panes off from list-windows. 2009-10-10 17:19:38 +00:00
cmd-list.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-load-buffer.c Give each paste buffer a size member instead of requiring them to be 2009-09-07 18:50:45 +00:00
cmd-lock-client.c New lock-client and lock-session commands to lock an individual client or all 2009-09-24 14:17:09 +00:00
cmd-lock-server.c Don't allow locked or suspended clients to limit the size of active clients. 2009-09-24 07:02:56 +00:00
cmd-lock-session.c New lock-client and lock-session commands to lock an individual client or all 2009-09-24 14:17:09 +00:00
cmd-move-window.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
cmd-new-session.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
cmd-new-window.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
cmd-next-layout.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-next-window.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-paste-buffer.c Give each paste buffer a size member instead of requiring them to be 2009-09-07 18:50:45 +00:00
cmd-pipe-pane.c Add a pipe-pane command to allow a pane to be piped to a shell command, for 2009-10-11 10:04:27 +00:00
cmd-previous-layout.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-previous-window.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-refresh-client.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-rename-session.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-rename-window.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
cmd-resize-pane.c Merge pane number into the target specification for pane commands. Instead of 2009-07-30 13:45:56 +00:00
cmd-respawn-window.c Rather than constructing an entire termios struct from ttydefaults.h, just let 2009-09-16 12:35:04 +00:00
cmd-rotate-window.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-run-shell.c Remove a debugging leftover and add copyright. 2009-10-11 09:04:33 +00:00
cmd-save-buffer.c Give each paste buffer a size member instead of requiring them to be 2009-09-07 18:50:45 +00:00
cmd-select-layout.c If select-layout is not given an argument, repply the last layout used in the 2009-07-28 06:48:44 +00:00
cmd-select-pane.c Merge pane number into the target specification for pane commands. Instead of 2009-07-30 13:45:56 +00:00
cmd-select-prompt.c Switch the prompt code to return an empty string when the user enters no 2009-08-13 23:44:18 +00:00
cmd-select-window.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-send-keys.c Nuke -i option which isn't used anymore. 2009-09-21 15:25:36 +00:00
cmd-send-prefix.c Permit multiple prefix keys to be defined, separated by commas, for example: 2009-09-22 12:38:10 +00:00
cmd-server-info.c Reference count clients and sessions rather than relying on a saved index for 2009-09-07 21:01:50 +00:00
cmd-set-buffer.c Give each paste buffer a size member instead of requiring them to be 2009-09-07 18:50:45 +00:00
cmd-set-environment.c Add flags for 1+2 and 2 arguments to the generic target code, use it for 2009-08-11 12:53:37 +00:00
cmd-set-option.c Rather than running status-left, status-right and window title #() with popen 2009-10-10 15:03:01 +00:00
cmd-set-window-option.c Add a simple synchronize-panes window option: when set, all input to any pane 2009-10-09 07:27:00 +00:00
cmd-show-buffer.c Give each paste buffer a size member instead of requiring them to be 2009-09-07 18:50:45 +00:00
cmd-show-environment.c Infrastructure and commands to manage the environment for processes started 2009-08-08 21:52:43 +00:00
cmd-show-options.c Move common code from show-options and show-window-options into a function. 2009-09-21 14:46:47 +00:00
cmd-show-window-options.c Move common code from show-options and show-window-options into a function. 2009-09-21 14:46:47 +00:00
cmd-source-file.c Use KEYC_NONE constant instead of 0 on init. 2009-09-21 15:32:06 +00:00
cmd-split-window.c Use KEYC_NONE constant instead of 0 on init. 2009-09-21 15:32:06 +00:00
cmd-start-server.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-string.c Infrastructure and commands to manage the environment for processes started 2009-08-08 21:52:43 +00:00
cmd-suspend-client.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-swap-pane.c Remove some dead code found by clang. 2009-07-30 17:29:12 +00:00
cmd-swap-window.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
cmd-switch-client.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd-unbind-key.c Final pieces of mode key rebinding: bind-key and unbind-key now accept a -t 2009-07-28 17:05:10 +00:00
cmd-unlink-window.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
cmd-up-pane.c Make all messages sent between the client and server fixed size. 2009-07-26 12:58:44 +00:00
cmd.c Add a pipe-pane command to allow a pane to be piped to a shell command, for 2009-10-11 10:04:27 +00:00
colour.c Permit options such as status-bg to be configured using the entire 256 colour 2009-09-10 17:16:24 +00:00
environ.c Nuke a dead variable found with clang and an unused declaration with lint. 2009-08-09 15:17:50 +00:00
grid-view.c Support "alternate screen" mode (terminfo smcup/rmcup) typically used by full 2009-07-13 10:43:52 +00:00
grid.c Stick line length to what is actually used (removing an optimization that 2009-09-15 15:14:09 +00:00
imsg-buffer.c Enclose repeated buffer draining code in a new msgbuf_drain() 2009-09-15 18:12:51 +00:00
imsg.c Switch tmux to use imsg. This is the last major change to make the 2009-08-11 17:18:35 +00:00
imsg.h Enclose repeated buffer draining code in a new msgbuf_drain() 2009-09-15 18:12:51 +00:00
input-keys.c Clean up by introducing a wrapper struct for mouse clicks rather than passing 2009-10-11 07:01:10 +00:00
input.c When backspace is received at the beginning of a line and the previous line was 2009-10-12 16:59:55 +00:00
job.c Switch run-shell over to queue the command in the background like #(). 2009-10-11 08:58:05 +00:00
key-bindings.c Remove scroll mode which is now redundant, copy mode should be used instead. 2009-10-06 07:19:32 +00:00
key-string.c Accept ^? for backspace as well as BSpace. 2009-10-06 07:32:26 +00:00
layout-set.c If select-layout is not given an argument, repply the last layout used in the 2009-07-28 06:48:44 +00:00
layout.c Improved layout code. 2009-07-19 13:21:40 +00:00
log.c Remove a couple of unused functions and fix a type ("FALLTHOUGH"), found by 2009-07-21 18:40:30 +00:00
Makefile Add a pipe-pane command to allow a pane to be piped to a shell command, for 2009-10-11 10:04:27 +00:00
mode-key.c Support J and K for scroll up and scroll down in copy mode with vi keys, 2009-10-07 15:58:40 +00:00
names.c When a window is zombified and automatic-rename is on, append [dead] to the 2009-10-10 15:23:13 +00:00
options-cmd.c Permit multiple prefix keys to be defined, separated by commas, for example: 2009-09-22 12:38:10 +00:00
options.c Permit multiple prefix keys to be defined, separated by commas, for example: 2009-09-22 12:38:10 +00:00
paste.c Regularise some fatal messages. 2009-09-20 14:58:12 +00:00
procname.c Nuke a dead variable found with clang and an unused declaration with lint. 2009-08-09 15:17:50 +00:00
resize.c Don't allow locked or suspended clients to limit the size of active clients. 2009-09-24 07:02:56 +00:00
screen-redraw.c Similarly add a tty_cursor_pane function to tidy up most of the calls. 2009-10-12 09:29:58 +00:00
screen-write.c When drawing lines that have wrapped naturally, don't force a newline but 2009-10-12 17:19:47 +00:00
screen.c Change the way the grid is stored, previously it was: 2009-08-08 13:29:27 +00:00
server-fn.c Set the current window pointer to NULL when killing a winlink that is to be 2009-10-11 10:39:27 +00:00
server-msg.c Support for individual session idle time locking. May be enabled by turning off 2009-10-10 09:46:11 +00:00
server.c Similarly add a tty_cursor_pane function to tidy up most of the calls. 2009-10-12 09:29:58 +00:00
session.c Add "grouped sessions" which have independent name, options, current window and 2009-10-10 10:02:48 +00:00
status.c Rather than running status-left, status-right and window title #() with popen 2009-10-10 15:03:01 +00:00
tmux.1 Permit attributes to be turned off in #[] by prefixing with "no", for example 2009-10-12 11:08:02 +00:00
tmux.c New option, mouse-select-pane. If on, the mouse may be used to select the 2009-10-10 14:51:16 +00:00
tmux.h When drawing lines that have wrapped naturally, don't force a newline but 2009-10-12 17:19:47 +00:00
tty-keys.c Clean up by introducing a wrapper struct for mouse clicks rather than passing 2009-10-11 07:01:10 +00:00
tty-term.c Use relative cursor movement instead of absolute when possible and when 2009-10-12 13:01:18 +00:00
tty.c When drawing lines that have wrapped naturally, don't force a newline but 2009-10-12 17:19:47 +00:00
utf8.c Miscellaneous unused functions, including one which was basically a 2009-06-25 06:15:04 +00:00
window-choose.c Clean up by introducing a wrapper struct for mouse clicks rather than passing 2009-10-11 07:01:10 +00:00
window-clock.c Use gmtime_r so the current time isn't overwritten, the minute comparison works 2009-06-27 14:40:22 +00:00
window-copy.c Clean up by introducing a wrapper struct for mouse clicks rather than passing 2009-10-11 07:01:10 +00:00
window-more.c Permit options such as status-bg to be configured using the entire 256 colour 2009-09-10 17:16:24 +00:00
window.c Add a pipe-pane command to allow a pane to be piped to a shell command, for 2009-10-11 10:04:27 +00:00
xmalloc.c Import tmux, a terminal multiplexor allowing (among other things) a single 2009-06-01 22:58:49 +00:00