Go to file
nicm c5689a5a40 Long overdue change to the way we store cells in the grid: now, instead
of storing a full grid_cell with UTF-8 data and everything, store a new
type grid_cell_entry. This can either be the cell itself (for ASCII
cells), or an offset into an extended array (per line) for UTF-8
data.

This avoid a large (8 byte) overhead on non-UTF-8 cells (by far the
majority for most users) without the complexity of the shadow array we
had before. Grid memory without any UTF-8 is about half.

The disadvantage that cells can no longer be modified in place and need
to be copied out of the grid and back but it turned out to be lot less
complicated than I expected.
2015-11-13 08:09:28 +00:00
Makefile Long overdue change to the way we store cells in the grid: now, instead 2015-11-13 08:09:28 +00:00
alerts.c Move struct options into options.c. 2015-10-27 15:58:42 +00:00
arguments.c struct args_entry can go into arguments.c. 2015-08-29 23:19:52 +00:00
array.h Add xreallocarray and remove nmemb argument from xrealloc. 2014-10-08 17:35:58 +00:00
attributes.c Use snprintf for constructing attribute string, from Tim Ruehsen. 2012-03-17 21:45:25 +00:00
cfg.c No need to keep global options around for client which doesn't use them. 2015-09-09 12:09:21 +00:00
client.c Don't shift version out of peerid, it is needed later. 2015-10-31 13:43:38 +00:00
cmd-attach-session.c Same bug as last commit, but in the other copy of the loop in this file... 2015-11-05 23:32:21 +00:00
cmd-bind-key.c Support UTF-8 key bindings by expanding the key type from int to 2015-11-12 11:05:34 +00:00
cmd-break-pane.c Move struct options into options.c. 2015-10-27 15:58:42 +00:00
cmd-capture-pane.c Don't free after calling paste_set but do after evbuffer_add, from Theo 2015-10-16 07:43:29 +00:00
cmd-choose-buffer.c Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 2015-11-12 11:09:11 +00:00
cmd-choose-client.c Extend the modifiers allowed before formats: as well as the existing 2015-10-25 22:29:17 +00:00
cmd-choose-tree.c Rewrite of the target resolution internals to be simpler and more 2015-04-27 16:25:57 +00:00
cmd-clear-history.c Free the history when it is cleared, based on a diff from Carlo Cannas. 2015-09-25 15:53:07 +00:00
cmd-command-prompt.c Rewrite of tmux mouse support which was a mess. Instead of having 2015-04-19 21:34:21 +00:00
cmd-confirm-before.c Change deref to the more sensible unref, and add a couple I missed before. 2015-06-05 18:06:30 +00:00
cmd-copy-mode.c Add copy-mode -e to exit copy mode when scrolling off the bottom, useful 2015-09-13 13:31:40 +00:00
cmd-detach-client.c Break the common process set up, event loop and imsg dispatch code 2015-10-27 13:23:24 +00:00
cmd-display-message.c Rewrite of the target resolution internals to be simpler and more 2015-04-27 16:25:57 +00:00
cmd-display-panes.c Instead of setting up the default keys by building the key struct 2014-10-20 22:29:25 +00:00
cmd-find-window.c Use a TAILQ not array for find-window. 2015-05-07 07:59:52 +00:00
cmd-find.c Like options, move the environ struct into environ.c. 2015-10-28 09:51:55 +00:00
cmd-has-session.c Instead of setting up the default keys by building the key struct 2014-10-20 22:29:25 +00:00
cmd-if-shell.c Because pledge(2) does not allow us to pass directory file descriptors 2015-10-31 08:13:58 +00:00
cmd-join-pane.c Use the SRCDST define for usage. 2015-06-18 23:56:01 +00:00
cmd-kill-pane.c Instead of setting up the default keys by building the key struct 2014-10-20 22:29:25 +00:00
cmd-kill-server.c Instead of setting up the default keys by building the key struct 2014-10-20 22:29:25 +00:00
cmd-kill-session.c Give some variables less silly names. 2015-09-16 22:40:27 +00:00
cmd-kill-window.c Add a format window_linked which is 1 if a window has been linked 2015-05-06 08:35:39 +00:00
cmd-list-buffers.c Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 2015-11-12 11:09:11 +00:00
cmd-list-clients.c Convert clients list into a TAILQ. 2015-04-24 23:17:11 +00:00
cmd-list-keys.c Add utf8_padcstr and use it to align columns in list-keys. 2015-11-12 12:43:36 +00:00
cmd-list-panes.c A few minor style nits. 2015-09-16 22:40:05 +00:00
cmd-list-sessions.c Extend the modifiers allowed before formats: as well as the existing 2015-10-25 22:29:17 +00:00
cmd-list-windows.c Wrap all the individual format_* calls in a single format_defaults 2015-02-05 10:29:43 +00:00
cmd-list.c Various minor style and spacing nits. 2014-09-01 21:50:18 +00:00
cmd-load-buffer.c If we know the terminal outside tmux is not UTF-8, replace UTF-8 in 2015-11-12 11:10:50 +00:00
cmd-lock-server.c Instead of setting up the default keys by building the key struct 2014-10-20 22:29:25 +00:00
cmd-move-window.c Move struct options into options.c. 2015-10-27 15:58:42 +00:00
cmd-new-session.c Fall back silently to ~ or / rather than checking -c with access(), this 2015-10-31 14:51:15 +00:00
cmd-new-window.c Fall back silently to ~ or / rather than checking -c with access(), this 2015-10-31 14:51:15 +00:00
cmd-paste-buffer.c Merge delete-buffer into cmd-set-buffer.c and change the paste buffer 2015-09-11 14:41:50 +00:00
cmd-pipe-pane.c Add format_expand_time and use it instead of status_replace where 2015-02-06 17:11:39 +00:00
cmd-queue.c If we know the terminal outside tmux is not UTF-8, replace UTF-8 in 2015-11-12 11:10:50 +00:00
cmd-refresh-client.c Make refresh-client force update of jobs, from Sina Siadat. 2015-09-14 10:25:52 +00:00
cmd-rename-session.c Instead of setting up the default keys by building the key struct 2014-10-20 22:29:25 +00:00
cmd-rename-window.c Move struct options into options.c. 2015-10-27 15:58:42 +00:00
cmd-resize-pane.c Rewrite of tmux mouse support which was a mess. Instead of having 2015-04-19 21:34:21 +00:00
cmd-respawn-pane.c Because pledge(2) does not allow us to pass directory file descriptors 2015-10-31 08:13:58 +00:00
cmd-respawn-window.c Because pledge(2) does not allow us to pass directory file descriptors 2015-10-31 08:13:58 +00:00
cmd-rotate-window.c Instead of setting up the default keys by building the key struct 2014-10-20 22:29:25 +00:00
cmd-run-shell.c Because pledge(2) does not allow us to pass directory file descriptors 2015-10-31 08:13:58 +00:00
cmd-save-buffer.c If realpath() fails just try the original path. 2015-11-10 22:33:47 +00:00
cmd-select-layout.c Add select-layout -o to undo the last layout change (apply the previously 2015-04-28 10:43:13 +00:00
cmd-select-pane.c Unzoom before -LRUD, reported by Andy Weidenbaum. 2015-10-22 11:19:31 +00:00
cmd-select-window.c Instead of setting up the default keys by building the key struct 2014-10-20 22:29:25 +00:00
cmd-send-keys.c Support UTF-8 key bindings by expanding the key type from int to 2015-11-12 11:05:34 +00:00
cmd-send-prefix.c Make command exec functions return an enum rather than -1/0/1 values and 2012-07-11 07:10:15 +00:00
cmd-set-buffer.c Should add buffer if no -b. 2015-09-14 12:52:22 +00:00
cmd-set-environment.c Like options, move the environ struct into environ.c. 2015-10-28 09:51:55 +00:00
cmd-set-option.c Support UTF-8 key bindings by expanding the key type from int to 2015-11-12 11:05:34 +00:00
cmd-show-buffer.c Make command exec functions return an enum rather than -1/0/1 values and 2012-07-11 07:10:15 +00:00
cmd-show-environment.c Like options, move the environ struct into environ.c. 2015-10-28 09:51:55 +00:00
cmd-show-messages.c Tidy up the way terminals are described and move some structs out of tmux.h. 2015-07-28 15:18:10 +00:00
cmd-show-options.c Move struct options into options.c. 2015-10-27 15:58:42 +00:00
cmd-source-file.c Move cfg_causes local into cfg.c and remove struct causelist. 2014-10-27 22:23:47 +00:00
cmd-split-window.c Fall back silently to ~ or / rather than checking -c with access(), this 2015-10-31 14:51:15 +00:00
cmd-string.c Like options, move the environ struct into environ.c. 2015-10-28 09:51:55 +00:00
cmd-swap-pane.c Some style nits and dead assignments. 2015-08-30 15:43:40 +00:00
cmd-swap-window.c Add support for a single "marked pane". There is one marked pane in the 2015-06-04 11:43:51 +00:00
cmd-switch-client.c Like options, move the environ struct into environ.c. 2015-10-28 09:51:55 +00:00
cmd-unbind-key.c Support UTF-8 key bindings by expanding the key type from int to 2015-11-12 11:05:34 +00:00
cmd-wait-for.c Use client pointer not file descriptor in logging. 2015-10-20 21:12:08 +00:00
cmd.c All the cmd_*_entry declarations do not need to be in tmux.h. 2015-09-01 09:48:34 +00:00
colour.c Use ints for the calculations rather than u_char, they could end up 2015-06-05 22:50:27 +00:00
control-notify.c Convert clients list into a TAILQ. 2015-04-24 23:17:11 +00:00
control.c Rewrite of tmux mouse support which was a mess. Instead of having 2015-04-19 21:34:21 +00:00
environ.c Like options, move the environ struct into environ.c. 2015-10-28 09:51:55 +00:00
format.c Long overdue change to the way we store cells in the grid: now, instead 2015-11-13 08:09:28 +00:00
grid-view.c Long overdue change to the way we store cells in the grid: now, instead 2015-11-13 08:09:28 +00:00
grid.c Long overdue change to the way we store cells in the grid: now, instead 2015-11-13 08:09:28 +00:00
input-keys.c Rename overly-long utf8data to ud throughout. 2015-11-12 22:04:37 +00:00
input.c Long overdue change to the way we store cells in the grid: now, instead 2015-11-13 08:09:28 +00:00
job.c Because pledge(2) does not allow us to pass directory file descriptors 2015-10-31 08:13:58 +00:00
key-bindings.c Support UTF-8 key bindings by expanding the key type from int to 2015-11-12 11:05:34 +00:00
key-string.c Rename overly-long utf8data to ud throughout. 2015-11-12 22:04:37 +00:00
layout-custom.c Always format real layout even when zoomed. 2015-04-21 22:38:49 +00:00
layout-set.c Move struct options into options.c. 2015-10-27 15:58:42 +00:00
layout.c -l should apply to the new not the old pane with -b, from "MadMaverick9" 2015-09-18 09:55:22 +00:00
log.c Do not leak log file descriptor. 2015-09-24 12:03:58 +00:00
mode-key.c Support UTF-8 key bindings by expanding the key type from int to 2015-11-12 11:05:34 +00:00
names.c Move struct options into options.c. 2015-10-27 15:58:42 +00:00
notify.c Similarly, for sessions use a callback to free rather than checking 2015-06-05 18:18:32 +00:00
options-table.c Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 2015-11-12 11:09:11 +00:00
options.c Move struct options into options.c. 2015-10-27 15:58:42 +00:00
paste.c Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 2015-11-12 11:09:11 +00:00
proc.c Don't shift version out of peerid, it is needed later. 2015-10-31 13:43:38 +00:00
procname.c Replace <sys/param.h> with <limits.h> and other less dirty headers where 2015-01-16 06:40:13 +00:00
resize.c Move struct options into options.c. 2015-10-27 15:58:42 +00:00
screen-redraw.c Move struct options into options.c. 2015-10-27 15:58:42 +00:00
screen-write.c Long overdue change to the way we store cells in the grid: now, instead 2015-11-13 08:09:28 +00:00
screen.c Count brackets in #{?...} so that nested conditional formats work, from 2015-10-27 09:28:31 +00:00
server-client.c Support UTF-8 key bindings by expanding the key type from int to 2015-11-12 11:05:34 +00:00
server-fn.c Move struct options into options.c. 2015-10-27 15:58:42 +00:00
server.c Tidy utf8.c a little: build table on first use, and make utf8_width take 2015-11-12 12:19:57 +00:00
session.c Because pledge(2) does not allow us to pass directory file descriptors 2015-10-31 08:13:58 +00:00
signal.c Break the common process set up, event loop and imsg dispatch code 2015-10-27 13:23:24 +00:00
status.c Long overdue change to the way we store cells in the grid: now, instead 2015-11-13 08:09:28 +00:00
style.c When the active pane changes, redraw panes if the style has 2015-09-14 11:34:50 +00:00
tmux.1 tweak previous; ok nicm 2015-11-12 12:36:34 +00:00
tmux.c tmux is UTF-8, so if $TMUX is set (tmux running in tmux), the client is 2015-11-12 11:24:08 +00:00
tmux.h Long overdue change to the way we store cells in the grid: now, instead 2015-11-13 08:09:28 +00:00
tty-acs.c Copy ACS characters as UTF-8, from Balazs Kezes. 2014-10-02 08:36:26 +00:00
tty-keys.c Rename overly-long utf8data to ud throughout. 2015-11-12 22:04:37 +00:00
tty-term.c Move struct options into options.c. 2015-10-27 15:58:42 +00:00
tty.c Long overdue change to the way we store cells in the grid: now, instead 2015-11-13 08:09:28 +00:00
utf8.c Long overdue change to the way we store cells in the grid: now, instead 2015-11-13 08:09:28 +00:00
window-choose.c Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 2015-11-12 11:09:11 +00:00
window-clock.c Support UTF-8 key bindings by expanding the key type from int to 2015-11-12 11:05:34 +00:00
window-copy.c Long overdue change to the way we store cells in the grid: now, instead 2015-11-13 08:09:28 +00:00
window.c Support UTF-8 key bindings by expanding the key type from int to 2015-11-12 11:05:34 +00:00
xmalloc.c Better format for printf format attributes. 2014-10-20 23:57:13 +00:00
xterm-keys.c Support UTF-8 key bindings by expanding the key type from int to 2015-11-12 11:05:34 +00:00