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
nicm
1b86f520ea
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8
...
terminal. We still support non-UTF-8 terminals outside tmux, but inside
it is always UTF-8 (as when the utf8 and status-utf8 options were on).
2015-11-12 11:09:11 +00:00
nicm
69e0b8326a
Support UTF-8 key bindings by expanding the key type from int to
...
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.)
2015-11-12 11:05:34 +00:00
nicm
44657bf932
Move struct options into options.c.
2015-10-27 15:58:42 +00:00
nicm
076034345a
Use client pointer not file descriptor in logging.
2015-10-20 21:12:08 +00:00
nicm
16efa84838
Make refresh-client force update of jobs, from Sina Siadat.
2015-09-14 10:25:52 +00:00
nicm
b569585000
Move struct paste_buffer out of tmux.h.
2015-08-29 09:25:00 +00:00
nicm
75d10058a4
Run status update on a per-client timer at status-interval.
2015-08-28 12:16:28 +00:00
nicm
5ec3621101
status_out and associated data structures are no longer used.
2015-07-29 11:56:02 +00:00
nicm
b254115acd
Tidy up the way terminals are described and move some structs out of tmux.h.
2015-07-28 15:18:10 +00:00
nicm
92af3766ec
Add an option (history-file) for a file to save/restore command prompt
...
history, from Olof-Joachim Frahm.
2015-07-20 15:50:04 +00:00
nicm
379400cfa6
Move the jobs output cache into the formats code so that #() work more
...
generally (for example, again working in set-titles-string).
2015-05-27 13:28:04 +00:00
nicm
0b39e6427f
Remove ARRAY_* from history and expand completion to complete a) layout
...
names and b) targets beginning with -t or -s.
2015-05-06 23:56:46 +00:00
nicm
07dfdb974d
Make message log a TAILQ.
2015-04-25 18:33:59 +00:00
nicm
583b4ab72b
Set working directory for run-shell and if-shell.
2015-04-24 22:19:36 +00:00
nicm
bf635e7741
Rewrite of tmux mouse support which was a mess. Instead of having
...
options for "mouse-this" and "mouse-that", mouse events may be bound as
keys and there is one option "mouse" that turns on mouse support
entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the
key names and new flags (-t= to specify the pane or window under mouse
as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M
bind -n MouseDown1Status select-window -t=
bind -n MouseDrag1Pane copy-mode -M
bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane
unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to
suppress warnings if mixing configuration files.
2015-04-19 21:34:21 +00:00
nicm
52756fb3c5
Use the same time for both calls to format_expand_time.
2015-02-06 23:28:52 +00:00
nicm
313f2263f8
status_replace can now become local to status.c and it no longer needs
...
the jobsflag argument. While here there is no need to repeat work that
format_defaults already does.
2015-02-06 17:21:08 +00:00
nicm
03758a50dc
Add format_expand_time and use it instead of status_replace where
...
command execution is not needed.
2015-02-06 17:11:39 +00:00
nicm
4946f74253
Wrap all the individual format_* calls in a single format_defaults
...
functions.
2015-02-05 10:29:43 +00:00
nicm
c9642ee213
Remove two unused arguments from status_replace.
2015-02-01 23:43:23 +00:00
sthen
f9c7f9a17a
typo in comment ;) ok nicm
2015-01-20 10:57:10 +00:00
nicm
d24c9d7d3e
Do not put a space between status-left/status-right and the window list,
...
instead move the space into the defaults for the options (so status-left
now defaults to "[#S] ". From Balazs Kezes.
2014-11-05 23:15:11 +00:00
nicm
0a1a88d63c
Better format for printf format attributes.
2014-10-20 23:57:13 +00:00
nicm
a27ba6e380
Add xreallocarray and remove nmemb argument from xrealloc.
2014-10-08 17:35:58 +00:00
nicm
d306bbe11e
Take account of window-status-separator when checking window position,
...
based on diff from Balazs Kezes.
2014-10-02 10:39:43 +00:00
nicm
bec6c807cd
There is no longer a need for a paste_stack struct or for global_buffers
...
to be global. Move to paste.c.
2014-04-24 09:14:43 +00:00
nicm
992ef70fb6
Remove the monitor-content option and associated bits and bobs. It's
...
never worked very well. If there is a big demand for it to return, will
consider better ways to do it.
2014-04-17 07:36:45 +00:00
nicm
8880bdb67c
Do not replace ## with # in status_replace1 because it'll be done later
...
by the format code.
2014-04-02 17:08:23 +00:00
nicm
dca7d1c0fd
Make message-limit a server option.
2014-03-31 21:41:35 +00:00
nicm
f835be4bb2
Style nit - no space between function name and bracket.
2014-02-14 13:59:01 +00:00
nicm
d0accdba88
Check for NULL session and whatnot in status_replace, from Thomas Adam.
2014-02-14 12:37:54 +00:00
nicm
945339b443
Allow replacing each of the many sets of separate foo-{fg,bg,attr}
...
options with a single foo-style option. For example:
set -g status-fg yellow
set -g status-bg red
set -g status-attr blink
Becomes:
set -g status-style fg=yellow,bg=red,blink
The -a flag to set can be used to add to rather than replace a style. So:
set -g status-bg red
Becomes:
set -ag status-style bg=red
Currently this is fully backwards compatible (all *-{fg,bg,attr} options
remain) but the plan is to deprecate them over time.
From Tiago Cunha.
2014-01-28 23:07:09 +00:00
Nicholas Marriott
7af5fec038
Whitespace nits, from Ben Boeckel.
2013-07-05 14:44:06 +00:00
Nicholas Marriott
c231381aa3
Demote the old single-character replacement variables (#S and friends)
...
to aliases of formats. From Tiago Cunha.
2013-05-31 19:56:05 +00:00
Nicholas Marriott
d28a39d01d
Extend jobs to support writing and use that for copy-pipe instead of
...
popen, from Chris Johnsen.
2013-03-25 11:43:01 +00:00
Nicholas Marriott
c519f9a84c
evbuffer_readline returns allocated storage, don't leak it.
2013-03-22 15:55:22 +00:00
Nicholas Marriott
8d59b189cc
No more lint means no more ARGSUSED.
2013-03-22 10:31:22 +00:00
Nicholas Marriott
dd46c95e23
Aargh. Spaces -> tabs.
2013-03-21 16:25:08 +00:00
Nicholas Marriott
93224260ae
Add window-status-last-* options, from Boris Faure.
2012-11-27 13:52:23 +00:00
Nicholas Marriott
df912e3540
xfree is not particularly helpful, remove it. From Thomas Adam.
2012-07-10 11:53:01 +00:00
Nicholas Marriott
a3391692ad
Move a NULL check inside a function, from Tiago Cunha.
2012-07-09 09:55:57 +00:00
Nicholas Marriott
e60f48ab09
Use int not u_char for colours from options since they may have bit 8
...
set to mark them as 256-colour. Reported by Chris Johnson.
2012-04-29 07:33:41 +00:00
Nicholas Marriott
e02d1bce98
Add window-status-separator option, from Thomas Adam.
2012-04-23 22:23:14 +00:00
Nicholas Marriott
d3c842d367
Check event_initialized before event_del if event may not have been set
...
up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
2012-03-17 18:24:07 +00:00
Nicholas Marriott
30f4c30ca3
Add A and I keys for vi status line editing.
2012-03-04 07:38:11 +00:00
Nicholas Marriott
4b8bb7770f
The wlmouse offset should be part of the client, not the server. From
...
Ailin Nemui.
2012-03-03 08:55:56 +00:00
Nicholas Marriott
230d0fbc9e
Add an option to move the status line to the top of the screen,
...
requested by many.
2012-01-29 09:37:02 +00:00
Nicholas Marriott
a7a44bfcd9
Terminate strftime buffer properly even if a really long format string
...
is given, from Tiago Cunha.
2012-01-26 09:05:54 +00:00
Nicholas Marriott
d2d2df1365
Fix memory leak in error path, from Tiago Cunha.
2012-01-26 09:03:09 +00:00