640c6fdd5f
If a mouse event has no key binding, pass it through to the pane it
...
happened in, not the active pane like normal key presses. Fixes problems
seen by Enrico Ghirardi.
2015-10-26 23:16:18 +00:00
a22fe33aa0
Some extra logging of where keys are actually going.
2015-10-26 17:17:06 +00:00
2e2b8a95bd
Pasting mouse escape sequences is unlikely, so skip them when working
...
out whether the user is pasting.
2015-10-23 23:46:36 +00:00
c2c2d44c72
Log identify messages.
2015-10-22 11:00:51 +00:00
076034345a
Use client pointer not file descriptor in logging.
2015-10-20 21:12:08 +00:00
8c8cddbe02
The table could change when retrying so don't save it at start of
...
server_client_handle_key.
2015-10-20 14:19:27 +00:00
174a2ad731
Pass current directory as a string rather than a file descriptor because
...
pledge doesn't let us pass directory file descriptors.
2015-10-18 20:42:42 +00:00
a4b4b29987
Rename cmd_q dead flag to a general flags bitmask (will be more flags later).
2015-09-16 22:24:54 +00:00
16efa84838
Make refresh-client force update of jobs, from Sina Siadat.
2015-09-14 10:25:52 +00:00
93b946ee50
Tweak some error messages/comments.
2015-09-01 19:50:09 +00:00
b87dc608d9
Some style nits and dead assignments.
2015-08-30 15:43:40 +00:00
b9f0571780
We already loop over the windows in server_client_loop, so don't do it
...
again in server_loop just to check names.
2015-08-29 08:54:41 +00:00
57cc4d45d5
Make session_update_activity more useful and use it in more places.
2015-08-28 13:01:03 +00:00
75d10058a4
Run status update on a per-client timer at status-interval.
2015-08-28 12:16:28 +00:00
5ec3621101
status_out and associated data structures are no longer used.
2015-07-29 11:56:02 +00:00
3192178f15
Initialize client fd to -1 as well, from Bobby Powers.
2015-07-17 06:53:47 +00:00
e45d624df2
Fix line endings.
2015-07-13 15:51:31 +00:00
c7374c31c4
Initialize cwd fd to -1 so that we don't close fd 0 if the client is
...
destroyed before it is changed. Also allow ttyname() to fail. Fixes
problems when running out of file descriptors reported by Bruno Sutic.
2015-07-13 15:49:31 +00:00
29c29e7717
Add a format for client PID (client_pid) and server PID (pid). Diff for
...
client_pid from Thomas Adam.
2015-06-14 10:07:44 +00:00
10e90ae01f
Change deref to the more sensible unref, and add a couple I missed before.
2015-06-05 18:06:30 +00:00
8c93b768e4
Instead of putting dead clients on a list and checking it every loop,
...
use event_once to queue a callback to deal with them. Also dead clients
with references would never actually be freed because the wrap-up
functions (the callback for stdin, or status_prompt_clear) would never
be called. So call them in server_client_lost.
2015-06-05 18:01:12 +00:00
6b2129696f
Move the nested check from client to server and compare the client tty
...
name to all the pane pty names instead of comparing socket paths. This
means that "new -d" will work without unsetting $TMUX.
2015-06-04 23:27:51 +00:00
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
879de25583
Remove some stuff that accidentally ended up here from portable, and
...
remove a little-used debug function.
2015-05-08 15:56:49 +00:00
33a585c47f
Turn cursor off during redraw, pointed out by George Nachman.
2015-05-06 07:52:06 +00:00
07dfdb974d
Make message log a TAILQ.
2015-04-25 18:33:59 +00:00
aeedb464a6
Convert clients list into a TAILQ.
2015-04-24 23:17:11 +00:00
8d66f4fba4
Change the windows array into an RB tree and fix some places where we
...
were only looking at the first winlink for a window in a session.
2015-04-22 15:30:11 +00:00
4cf4302962
Don't eat the mouse event that triggers a drag end because we may want
...
to pass it on to application inside the pane.
2015-04-21 15:21:41 +00:00
bded743706
Support for multiple key tables to commands to be bound to sequences of
...
keys. The default key bindings become the "prefix" table and -n the
"root" table. Keys may be bound in new tables with bind -T and
switch-client -T used to specify the table in which the next key should
be looked up. Based on a diff from Keith Amling.
2015-04-20 15:34:56 +00:00
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
ee123c2489
Support setting the default window and pane background colours (window
...
and active pane via window-style and window-active-style options, an
individual pane by a new select-pane -P flag). From J Raynor.
2015-04-19 21:05:27 +00:00
02df86079b
Fix some format specifier nits, from Ben Boeckel.
2015-03-31 17:45:10 +00:00
8d94bb67ab
Use formats not status_replace for set-titles-string.
2015-02-06 17:17:12 +00:00
c9642ee213
Remove two unused arguments from status_replace.
2015-02-01 23:43:23 +00:00
abfb9656ef
Fix some spacing nits.
2014-10-22 23:18:53 +00:00
c011446e78
Update status when pane selected with mouse, from Balazs Kezes.
2014-10-02 09:31:30 +00:00
4e956d545a
Various minor style and spacing nits.
2014-09-01 21:50:18 +00:00
1ac96200a7
Remove support for the continuous reporting "any" mouse mode which never
...
really worked properly and is rarely used.
2014-08-09 07:33:37 +00:00
2b67907176
An EOF is a good reason to close a connection.
...
ok nicm@
2014-07-13 20:51:08 +00:00
f117c7d94a
If a client is killed while suspended with ^Z so has gone through the
...
MSG_EXITED dance, don't try to resume it since a) it's pointless and b)
the tty structures have been cleaned up and tmux will crash.
2014-07-13 20:23:10 +00:00
e5d85c6c3c
Because we pass the file descriptor from client to server, tmux can't
...
usefully work if stdin is /dev/tty. Complain about it more clearly.
2014-04-16 08:02:31 +00:00
f1828921df
Change terminal-overrides to a server option (now that we have them), it
...
doesn't make much sense as a session option.
2014-02-23 00:53:06 +00:00
69b7c496ac
Be consistent and allow only mouse down and mouse wheel for any pane
...
with mouse-select-pane rather than just in copy mode, reported by Balazs
Kezes.
2014-02-17 22:42:20 +00:00
e9d32f901a
Make status-interval of zero work as indented.
2014-02-14 14:00:18 +00:00
f835be4bb2
Style nit - no space between function name and bracket.
2014-02-14 13:59:01 +00:00
9f02feb9d0
Break up and simplify screen_redraw_screen.
2014-01-31 14:19:24 +00:00
7624800ddc
from nicm: : handle msgbuf_write() returning EAGAIN
2013-11-13 20:43:36 +00:00
bf35441608
Do not run any command line command from the client which starts the
...
server until after the configuration file completes. This prevents it
racing against run-shell or if-shell in .tmux.conf that run in the
background.
2013-10-20 17:28:43 +00:00
4901d9ddc8
Don't leak file descriptors in the rare MSG_VERSION case. From Chris
...
Johnsen.
2013-10-11 08:07:12 +00:00