Instant Terminal Sharing
Go to file
Nicholas Marriott 1af09d6330 Try to reduce the UTF-8 mess.
Get rid of passing around u_char[4]s and define a struct utf8_data which has
character data, size (sequence length) and width. Move UTF-8 character
collection into two functions utf8_open/utf8_append in utf8.c which fill in
this struct and use these functions from input.c and the various functions in
screen-write.c.

Space for rather more data than is necessary for one UTF-8 sequence is in the
utf8_data struct because screen_write_copy is still nasty and needs to reinject
the character (after combining) into screen_write_cell.
2009-10-20 19:18:28 +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 Do this in a better way - print messages when exiting with nonzero. 2009-10-13 13:15:26 +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 The pane pty name isn't useful for anything so show the pane number instead. 2009-10-15 07:05: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 Do this in a better way - print messages when exiting with nonzero. 2009-10-13 13:15:26 +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 cmd_find_client shouldn't die when there is an empty slot in the clients 2009-10-14 20:52:28 +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 Move lines into the history when scrolling even if the scroll region is not 2009-10-13 15:38:37 +00:00
grid.c Move lines into the history when scrolling even if the scroll region is not 2009-10-13 15:38:37 +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 Try to reduce the UTF-8 mess. 2009-10-20 19:18:28 +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 Add mode keys to move the cursor to the top, middle and bottom of the screen. 2009-10-13 13:45:56 +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 Try to reduce the UTF-8 mess. 2009-10-20 19:18:28 +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 When a session is unattached, reset its activity timer to prevent it locking 2009-10-13 06:14:08 +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 Add mode keys to move the cursor to the top, middle and bottom of the screen. 2009-10-13 13:45:56 +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 Try to reduce the UTF-8 mess. 2009-10-20 19:18:28 +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 Try to reduce the UTF-8 mess. 2009-10-20 19:18:28 +00:00
utf8.c Try to reduce the UTF-8 mess. 2009-10-20 19:18:28 +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 Add mode keys to move the cursor to the top, middle and bottom of the screen. 2009-10-13 13:45:56 +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 Stop updating the screen when not in output mode, stops copy mode getting 2009-10-19 13:18:13 +00:00
xmalloc.c Import tmux, a terminal multiplexor allowing (among other things) a single 2009-06-01 22:58:49 +00:00