Tiago Cunha
5cc971facd
Sync OpenBSD patchset 244:
...
Drop the no_stop argument to tty_close and tty_free in favour of a flag in the
tty struct.
2009-08-14 21:17:54 +00:00
Tiago Cunha
a9b6bfdddd
Sync OpenBSD patchset 243:
...
Switch tmux to use imsg. This is the last major change to make the
client-server protocol more resilient and make the protocol versioning work
properly. In future, the only things requiring a protocol version bump will be
changes in the message structs, and (when both client and server have this
change) mixing different versions should nicely report an error message.
As a side effect this also makes the code tidier, fixes a problem with the way
errors reported during server startup were handled, and supports fd passing
(which will be used in future).
Looked over by eric@, thanks.
Please note that mixing a client with this change with an older server or vice
versa may cause tmux to crash or hang - tmux should be completely exited before
upgrading.
2009-08-14 21:04:04 +00:00
Tiago Cunha
29b1b2fb5e
Sync OpenBSD patchset 231:
...
Infrastructure and commands to manage the environment for processes started
within tmux.
There is a global environment, copied from the external environment when the
server is started and each session has an (initially empty) session
environment which overrides it.
New commands set-environment and show-environment manipulate or display the
environments.
A new session option, update-environment, is a space-separated list of
variables which are updated from the external environment into the session
environment every time a new session is created - the default is DISPLAY.
2009-08-09 17:48:55 +00:00
Tiago Cunha
697051d1fd
Sync OpenBSD patchset 203:
...
Similar changes for server_msg_dispatch: use a switch instead of a lookup
table and merge smaller functions inline.
2009-07-30 21:01:01 +00:00
Tiago Cunha
6fbfcfc0d7
Sync OpenBSD patchset 196:
...
Rename struct hdrtype to msgtype which is a better name and can be used even
when struct hdr disappears.
2009-07-30 20:21:55 +00:00
Tiago Cunha
d637cb33da
Sync OpenBSD patchset 181:
...
Make all messages sent between the client and server fixed size.
This is the first of two changes to make the protocol more resilient and less
sensitive to other changes in the code, particularly with commands. The client
now packs argv into a buffer and sends it to the server for parsing, rather
than doing it itself and sending the parsed command data.
As a side-effect this also removes a lot of now-unused command marshalling
code.
Mixing a server without this change and a client with or vice versa will cause
tmux to hang or crash, please ensure that tmux is entirely killed before
upgrading.
2009-07-28 22:12:16 +00:00
Tiago Cunha
7cd412dc57
Sync OpenBSD patchset 173:
...
None of the server message functions return anything but 0, so make them all
void.
Also remove a leftover variable in client.c.
2009-07-23 23:47:23 +00:00
Nicholas Marriott
2ddcb51df3
Fix $Id$.
2009-07-08 18:03:03 +00:00
Nicholas Marriott
1825609d8d
Handle empty or unset TERM correctly; also fix a fatal() message while here.
2009-07-08 17:58:32 +00:00
Nicholas Marriott
43ff216fa6
When sending a "protocol mismatch" error message, tell the client to exit
...
afterwards, otherwise it hangs.
2009-07-08 17:58:09 +00:00
Nicholas Marriott
a5830b9603
Restore $Id$ and add script to do so.
2009-06-25 16:21:32 +00:00
Nicholas Marriott
7be69bfa03
Terminate cwd buffer before running xstrdup on it.
2009-06-25 15:59:42 +00:00
Nicholas Marriott
418128bebc
If the prompt is hidden or a password is sent with -U, zero it before freeing
...
it.
2009-06-25 15:55:34 +00:00
Nicholas Marriott
143aa718e5
Space trimmage mega-diff.
2009-05-04 17:58:27 +00:00
Nicholas Marriott
e6d35b6aa4
Support for 88 colour terminals.
2009-03-07 10:29:06 +00:00
Nicholas Marriott
b03783efad
strdup() not necessary here.
2009-02-16 19:01:16 +00:00
Nicholas Marriott
03d531ebc6
Move sx,sy into tty rather than client.
2009-02-11 17:50:36 +00:00
Nicholas Marriott
70024b3685
Exit properly when bas password.
2009-01-28 17:57:00 +00:00
Nicholas Marriott
d4f034beb4
Die properly with warning.
2009-01-20 18:48:46 +00:00
Nicholas Marriott
93230a64bc
Pass return code from _exec; allow command sequences to work from the command line.
2009-01-19 18:23:40 +00:00
Nicholas Marriott
9690d9d5f1
Reset tty saved data on resize.
2009-01-18 21:26:44 +00:00
Nicholas Marriott
8ea49712fd
suspend-client command and suspend client when ^Z key binding is used.
2009-01-18 12:09:42 +00:00
Nicholas Marriott
162bacdcd9
Window splitting. Two vertical panes fixed 50% each. This is a huge diff, still a couple of bugs (notably heap corruption somewhere causing segfault on exit).
2009-01-11 23:31:46 +00:00
Nicholas Marriott
e3feb067a5
Server locking. set-password and lock-server commands, plus automatic locking.
2009-01-11 00:48:42 +00:00
Nicholas Marriott
4d71164826
Pick up cwd from environment,.
2009-01-10 19:37:35 +00:00
Nicholas Marriott
d531dbb53a
Minor tidying; remove some old debugging messages.
2009-01-07 22:57:03 +00:00
Nicholas Marriott
4846ad1657
Introduce nitems() and use it; use bsearch.
2009-01-07 22:52:33 +00:00
Nicholas Marriott
62457bce0b
Trim.
2008-09-26 06:45:28 +00:00
Nicholas Marriott
efe557313a
Internal screen data rewrite for better 256 colour/UTF-8 support.
2008-09-25 20:08:57 +00:00
Nicholas Marriott
19a2c87f04
Initial UTF-8 support.
2008-09-09 22:16:37 +00:00
Nicholas Marriott
dd41035a4d
Protocol versioning, version is checked on identify message.
2008-07-01 19:47:02 +00:00
Nicholas Marriott
2bd92e5f18
Lose unnecessary flags on context.
2008-06-21 10:19:36 +00:00
Nicholas Marriott
99df48d70f
Trimify.
2008-06-18 22:21:51 +00:00
Nicholas Marriott
55d5b83408
Informational messages on window option changes.
2008-06-16 17:35:40 +00:00
Nicholas Marriott
f97db61439
Clear msgdata where it is unavailable.
2008-06-02 18:23:37 +00:00
Nicholas Marriott
c7243b73cb
Move -s and -c down a level so handling them is the responsibility of the command (with some helper functions), rather than the top-level. This changes the action command syntax so that -s and -c must be after the command rather than before.
2008-06-02 18:08:17 +00:00
Nicholas Marriott
da22fafed5
Sync with Makefile.
2007-12-13 18:59:42 +00:00
Nicholas Marriott
c6efbbb843
Don't free twice when exiting.
2007-12-12 19:44:59 +00:00
Nicholas Marriott
83393d3c87
Only close the tty during exit process and leave freeing it to when the socket is lost.
2007-12-06 20:53:48 +00:00
Nicholas Marriott
103748d6ad
Major reorganisation of screen handling.
2007-12-06 09:46:23 +00:00
Nicholas Marriott
5cd1d459c5
Three-stage exit process so that [] message printing works on detach etc.
2007-11-27 20:01:30 +00:00
Nicholas Marriott
76c8a590db
Big internal reorganisation to move tty control into parent.
2007-11-27 19:23:34 +00:00
Nicholas Marriott
08f8740da7
Always redraw requesting client on resize.
2007-11-24 20:08:49 +00:00
Nicholas Marriott
e2438dc96e
Check for NULL clients.
2007-11-21 22:40:55 +00:00
Nicholas Marriott
ce90f1bddb
The CLIENT_HOLD hack can go bye-bye.
2007-11-21 20:04:37 +00:00
Nicholas Marriott
9a6e47cfa8
Initial history support.
2007-11-21 13:11:41 +00:00
Nicholas Marriott
c0572ea992
Fix a format string bug and sprinkle some printflikes.
2007-11-20 18:11:37 +00:00
Nicholas Marriott
6e04524596
switch-client command.
2007-11-16 21:31:03 +00:00
Nicholas Marriott
b359f9b594
Add -c option to specify client, and move detach/refresh to client rather than session.
2007-11-16 21:12:31 +00:00
Nicholas Marriott
4ba3cf60be
Reorg window data structures. Add an intermediate data type (struct winlink) to hold index and make sessions hold a RB tree of them rather than a fixed array.
2007-10-26 12:29:07 +00:00