nicm
e0add119ea
Compare to see if pane status line has actually changed, not just size, and
...
do not draw if pane is not visible.
2016-10-12 17:36:52 +00:00
nicm
e83ebf50de
Fix a couple of problems with insert mode: flush dirty cells before we
...
modify the screen, not after; and use grid_view_insert_cells to make
space not grid_move_cells.
2016-10-12 15:43:51 +00:00
nicm
40253048ca
bind-key -c has gone, remove from man page, and unused table declarations.
2016-10-12 15:26:37 +00:00
nicm
c484c5a2a1
Drop the edit mode key tables and just use fixed key bindings for the
...
command prompt.
2016-10-12 14:50:14 +00:00
nicm
4160df4ca4
Redraw selection in tty_draw_line, so it appears when redrawing whole
...
pane. Reported by Theo Buehler.
2016-10-12 13:24:07 +00:00
nicm
68bebe1fb7
The repeat prompt in both emacs and vi (and the old one in tmux) doesn't
...
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.
2016-10-12 13:03:27 +00:00
nicm
22a8afee9e
Unused variable and missing time.h.
2016-10-12 09:07:58 +00:00
nicm
5c49e1d0c1
Some other stuff that can be local to one file.
2016-10-11 13:45:47 +00:00
nicm
e45401846f
Add static in window-*.c and move some internal functions out of tmux.h.
2016-10-11 13:21:59 +00:00
nicm
85d7afaefc
Support double and triple clicks (they are cumulative, so double is
...
fired then triple), and use for select-word and select-line in copy
mode. Inspired by a different solution from Omar Sandoval.
2016-10-11 09:30:36 +00:00
nicm
76d6d3641f
Fundamental change to how copy mode key bindings work:
...
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.
2016-10-11 07:23:34 +00:00
nicm
8b804fb589
Support UTF-8 entry into the command prompt.
2016-10-11 07:11:40 +00:00
nicm
a81685bfac
Add static in cmd-* and fix a few other nits.
2016-10-10 21:51:39 +00:00
nicm
c426e485e5
Loads more static, except for cmd-*.c and window-*.c.
2016-10-10 21:29:23 +00:00
nicm
66b5477cc1
Do not allow the opposite pane to resize when dragging with the mouse
...
because it is not possible to keep the mouse on the border when the
minimum size is reached.
2016-10-10 17:28:30 +00:00
nicm
7d4b416fe6
Some more static.
2016-10-10 13:54:47 +00:00
nicm
b8f2dd8237
Make the CLIENT_STATUS flag imply that pane status lines are redrawn if
...
they are enabled and break the actual screen generation code into a
separate function. Fixes problems reported by Romain Francoise.
2016-10-09 16:24:34 +00:00
nicm
1db6d6fea6
Pass file/line to new command for if-shell so that errors appear
...
sensibly.
2016-10-09 08:06:51 +00:00
nicm
48dd250af1
Handle NULL window or session for user options.
2016-10-09 07:58:35 +00:00
nicm
44449b305b
Use xsnprintf not snprintf for the prompt in window_copy_write_line
...
because we don't care if it is truncated to the screen width, we don't
want it to be fatal.
2016-10-09 07:30:28 +00:00
nicm
30086e504c
screen_write_copy tried to be clever and clear the line if it reached
...
the end of the source, but it was wrong and causes problems that are
only showing up now we are more aggressive about skipping redundant
screen updates. Remove the optimization entirely as more trouble than it
is worth to fix (and it'll have to go when BCE is done anyway).
2016-10-05 22:00:29 +00:00
nicm
f55c991a1b
Wrap some long lines in screen-write.c.
2016-10-05 12:36:36 +00:00
nicm
4117a7ed19
Keep buffer creation time and add accessors for it and the order number.
2016-10-05 12:34:05 +00:00
nicm
b4f95c43fc
Allow cmd_mouse_at return arguments to be NULL.
2016-10-05 12:32:13 +00:00
nicm
1b31d148c9
Remove some dead code in cmd-move-window.c and make a load of local
...
functions static.
2016-10-03 22:52:11 +00:00
nicm
305c832a97
Document set-hook -u.
2016-10-03 20:58:39 +00:00
nicm
61dfbe702e
Remove some redundant checks and make ich/dch consistent.
2016-10-03 19:19:18 +00:00
nicm
cf7f3a436a
Check padding when writing any character with width > 1, in case they
...
overlap after the first character (for example with cells xy and ab, y
is replacing a).
2016-09-29 08:50:43 +00:00
nicm
bb5798aa0e
Couple of vasprintf -> xvasprintf.
2016-09-28 14:40:07 +00:00
nicm
acacb718e5
Rate limit TIOCSWINSZ on a timer to avoid programs getting hammered with
...
SIGWINCH when the size changes rapidly. To help a problem reported by
Rui Pinheiro.
2016-09-28 08:30:44 +00:00
nicm
69e980602b
Support set -a (append) with user options, suggested by Xandor Schiefer.
2016-09-26 09:02:34 +00:00
nicm
eb50e7a2c8
Swap watermarks from high (4096) to low (128) when we get full buffers
...
into the read callback several times in succession; swap back when we
see empty buffers several times. This hopefully limits how much programs
that print a lot for a long period can monopolize tmux (like large, fast
compiling), without penalizing programs that print a lot briefly (like
most curses applications). Helps a lot for me, the actual numbers may
need tweaking later.
2016-09-16 13:43:41 +00:00
nicm
2e5584c2b4
Allow repeat count to be specified in mode key tables with bind-key -R,
...
and set the default repeat count to 5 for WheelUp and WheelDown in
copy-mode.
2016-09-12 15:40:58 +00:00
nicm
fed1e384ad
Add support for performing a full width split (with splitw -f), rather
...
than splitting the current cell. From Stephen Kent.
2016-09-04 17:37:06 +00:00
nicm
2627ab322e
Remember the number of lines scrolled into the history (versus cleared
...
into the history) and when resizing only use scrolled lines and not
cleared lines (which are probably not intended to reappear). From
Chaoren Lin.
2016-09-02 20:57:20 +00:00
nicm
537964b92d
Kill empty window after moving pane and updating current window, so that
...
index is still valid before renumber-windows happens. Fixes issue
reported by Eric Pruitt.
2016-08-27 23:35:00 +00:00
nicm
6bf033beae
Do not crash if display-message used without a client, issue reported by
...
Serge Aleynikov, fix from Thomas Adam.
2016-08-25 09:33:14 +00:00
nicm
43f292b2e0
Two minor fixes from dilyan palauzov.
2016-08-22 20:07:58 +00:00
nicm
f811127bb6
We only replace the first %%, not multiple (use %2 for second).
2016-08-03 09:08:40 +00:00
nicm
f8cc48a43f
Fix minimum size when pane status line is enabled, reported by Y Petremann.
2016-08-03 09:07:02 +00:00
nicm
9436a31603
Tweak output of environment logging.
2016-07-15 09:52:34 +00:00
nicm
1718420c48
Log environment to new panes.
2016-07-15 09:28:32 +00:00
nicm
68b1fd0cc6
Wrap some long lines and apply some static.
2016-07-15 09:27:35 +00:00
nicm
0f73af876f
Don't update cells in each block of data read from a pane immediately,
...
instead track them as change (dirty) and update them once at the end,
saves much time if repeatedly writing the same cell. Also fix comparison
of cells being equal in a few places (memcmp is not enough).
2016-07-15 00:49:08 +00:00
nicm
1fd6ca2260
Instead of representing colours in several different forms with various
...
cell flags, convert to use an int with flags marking 256 or RGB colours
in the top byte (except in cells, which we don't want to make any
bigger). From Brad Town.
2016-07-15 00:42:56 +00:00
semarie
fc118e13a9
tmux: only consider ACCESSPERMS for setting mode on socket_path.
...
it explicitly removes any S_ISUID|S_ISGID|S_ISTXT bits, instead of letting
pledge(2) silenciously remove them.
ok nicm@ beck@ deraadt@
2016-07-07 09:24:09 +00:00
nicm
325cbe90d9
Allow a command to be specified to display-panes, similar to
...
command-prompt, rather than always just selecting the pane.
2016-06-16 10:55:47 +00:00
nicm
0c7ddae2ab
Add missing buffer_name format, from Awal Garg.
2016-06-15 14:43:06 +00:00
nicm
bee3e3e28d
Copy mode needs to keep the original grid intact so it can copy from it
...
if needed, so it disables reading from the pane. This can be problem
with some programs. So make tmux automatically exit all modes after 180
seconds of inactivity and if there is pending output.
2016-06-15 09:13:46 +00:00
nicm
068b8b03ad
Add -F to list-commands.
2016-06-15 08:54:11 +00:00