Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						34d05ea7cd 
					 
					
						
						
							
							We now send argv to the server after parsing it in the client to get the  
						
						 
						
						... 
						
						
						
						command, so the client should not modify it. Instead, take a copy. Fixes
parsing command lists, reported by mcbride@. 
						
						
					 
					
						2010-10-29 20:11:57 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5de84eca3d 
					 
					
						
						
							
							Add a last-pane command (bound to ; by default). Requested ages ago by  
						
						 
						
						... 
						
						
						
						somebody whose name I have forgotten. 
						
						
					 
					
						2010-10-23 13:04:34 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						a3efd2ab5a 
					 
					
						
						
							
							When removing a pane, don't change the active pane unless the active  
						
						 
						
						... 
						
						
						
						pane is actually the one being removed. 
						
						
					 
					
						2010-10-23 12:51:51 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						139754b9fe 
					 
					
						
						
							
							Mark repeating keys with "(repeat)" in the key list.  
						
						 
						
						
						
						
					 
					
						2010-10-20 18:20:36 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						248fb14f08 
					 
					
						
						
							
							Merge the before and after attach client code into one in client.c  
						
						 
						
						... 
						
						
						
						(instead of two in tmux.c and client.c). 
						
						
					 
					
						2010-10-18 20:00:02 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						31954339d1 
					 
					
						
						
							
							Make stdio blocking again before calling shell command with -c.  
						
						 
						
						
						
						
					 
					
						2010-10-16 08:42:35 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						f56b4ec2ff 
					 
					
						
						
							
							Trying to set FD_CLOEXEC on every fd is a lost cause, just use  
						
						 
						
						... 
						
						
						
						closefrom() before exec. 
						
						
					 
					
						2010-10-16 08:31:55 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						6c42f1a89e 
					 
					
						
						
							
							Fall back on normal session choice method if $TMUX exists but is invalid  
						
						 
						
						... 
						
						
						
						rather than rejecting. 
						
						
					 
					
						2010-10-16 07:57:42 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						65ff5b00bd 
					 
					
						
						
							
							Use an explicit event rather than event_once for the main event so it  
						
						 
						
						... 
						
						
						
						can be removed when the client becomes ready. 
						
						
					 
					
						2010-10-14 17:38:39 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						f6cd0342f6 
					 
					
						
						
							
							Treat the meta bit in the xterm extended modifier key set as the same as  
						
						 
						
						... 
						
						
						
						escape (tmux's meta). From Emanuele Giaquinta. 
						
						
					 
					
						2010-10-14 00:37:51 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						1580afdfdf 
					 
					
						
						
							
							Put "or" on new line from command with .Ic.  
						
						 
						
						
						
						
					 
					
						2010-10-14 00:30:03 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						7aef2994e4 
					 
					
						
						
							
							Set cause when failing due to linking a window to itself, from Martin  
						
						 
						
						... 
						
						
						
						Pieuchot. 
						
						
					 
					
						2010-10-09 12:58:00 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						08bcd6978c 
					 
					
						
						
							
							Skip NULL entries in the sessions list when choosing the next session,  
						
						 
						
						... 
						
						
						
						from Simon Olofsson. 
						
						
					 
					
						2010-10-05 17:15:21 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						4789a4ee1f 
					 
					
						
						
							
							Nuke a leftover RB tree declaration spotted by blambert.  
						
						 
						
						
						
						
					 
					
						2010-09-28 07:15:45 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						9a7cde0c9b 
					 
					
						
						
							
							Two new options:  
						
						 
						
						... 
						
						
						
						- server option "exit-unattached" makes the server exit when no clients
  are attached, even if sessions are present;
- session option "destroy-unattached" destroys a session once no clients
  are attached to it.
These are useful for preventing tmux remaining in the background where
it is undesirable and when using tmux as a login shell to keep a limit
on new sessions. 
						
						
					 
					
						2010-09-26 20:43:30 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						66152010a7 
					 
					
						
						
							
							Modify the permissions on the socket when adding or removing +x to show  
						
						 
						
						... 
						
						
						
						attached sessions, rather than replacing them. 
						
						
					 
					
						2010-09-26 18:51:48 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						2772557d15 
					 
					
						
						
							
							detach-on-destroy is a session option, not server.  
						
						 
						
						
						
						
					 
					
						2010-09-25 20:35:52 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						ea4487c6da 
					 
					
						
						
							
							Ugh. Pass the right type into tty_term_has. Teaches me to make last  
						
						 
						
						... 
						
						
						
						minute changes :-/. 
						
						
					 
					
						2010-09-11 16:20:58 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						cb564bb427 
					 
					
						
						
							
							Use UTF-8 line drawing characters on UTF-8 terminals. Fixes some stupid  
						
						 
						
						... 
						
						
						
						terminals (I'm looking at you, putty) which disable the vt100 ACS mode
switching sequences in UTF-8 mode.
Also on terminals without ACS at all, use ASCII equivalents where
obvious. 
						
						
					 
					
						2010-09-11 16:19:22 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						3696cce4ae 
					 
					
						
						
							
							Ignore terminal overrides settings without a value.  
						
						 
						
						
						
						
					 
					
						2010-09-11 15:43:11 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						c1c5f43a01 
					 
					
						
						
							
							When resizing the copy mode screen, don't allow it to end up with the  
						
						 
						
						... 
						
						
						
						viewable position beyond the size of the history. 
						
						
					 
					
						2010-09-11 15:39:55 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						a22a6deda5 
					 
					
						
						
							
							Add -n and -p flags to switch-client to move to the next and previous  
						
						 
						
						... 
						
						
						
						session (yes, it doesn't match window/pane, but so what, nor does
switch-client).
Based on a diff long ago from "edsouza". 
						
						
					 
					
						2010-09-08 22:02:28 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						bbf743769b 
					 
					
						
						
							
							Do not crash if the screen size is too small for the indicator in copy mode.  
						
						 
						
						
						
						
					 
					
						2010-09-08 20:36:42 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						de68c2a7da 
					 
					
						
						
							
							Simplify xterm modifier detection by treating as a bitmask + 1. Spotted  
						
						 
						
						... 
						
						
						
						by and diff from Emanuele Giaquinta. 
						
						
					 
					
						2010-09-01 21:11:14 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5309252053 
					 
					
						
						
							
							Reset running jobs when the status line is enabled or disabled as well,  
						
						 
						
						... 
						
						
						
						some people have it bound to a key. 
						
						
					 
					
						2010-09-01 21:06:51 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						8e8e0f1d53 
					 
					
						
						
							
							Add missing prototype.  
						
						 
						
						
						
						
					 
					
						2010-08-31 22:46:59 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						f69ce39a6c 
					 
					
						
						
							
							When destroying a pane, reset any mode (which reenables pane  
						
						 
						
						... 
						
						
						
						bufferevent) before freeing the bufferevent. 
						
						
					 
					
						2010-08-25 19:19:43 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						fc9f08235b 
					 
					
						
						
							
							Can't call event_del() without event_set() first - so call event_set()  
						
						 
						
						... 
						
						
						
						when setting up the client. 
						
						
					 
					
						2010-08-23 17:36:32 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5f5104e782 
					 
					
						
						
							
							MSG_EXIT can now have a return code in the message, so check for that  
						
						 
						
						... 
						
						
						
						size as well. Stops the client fatal()ing on exit. 
						
						
					 
					
						2010-08-22 16:09:49 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						e3be9b1951 
					 
					
						
						
							
							Do not call event_del() for signals after fork(), just use sigaction()  
						
						 
						
						... 
						
						
						
						directly instead - calling libevent functions after fork() w/o
event_reinit() is a bad idea, even if in this case it was harmless. 
						
						
					 
					
						2010-08-19 18:29:01 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						c2822ca119 
					 
					
						
						
							
							Do not need to dup() the tty fd sent from the client because it is  
						
						 
						
						... 
						
						
						
						already dup()d again later. Fixes a leak seen by espie@. 
						
						
					 
					
						2010-08-19 17:20:26 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						828f12b748 
					 
					
						
						
							
							Do not allow duplicate session names to be created, reported by Dominik  
						
						 
						
						... 
						
						
						
						Honnef, patch from Thomas Adam. 
						
						
					 
					
						2010-08-11 07:45:06 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						ae70071494 
					 
					
						
						
							
							Handle failure to change mode, to avoid dying when switching into copy  
						
						 
						
						... 
						
						
						
						mode when already in a different mode. Reported by "Florian". 
						
						
					 
					
						2010-08-11 07:41:05 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						3999886901 
					 
					
						
						
							
							Usage string fixes from Ben Boeckel.  
						
						 
						
						
						
						
					 
					
						2010-08-11 07:38:00 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						cc474b4ede 
					 
					
						
						
							
							Treat trying to link or move to the same window as an error to avoid  
						
						 
						
						... 
						
						
						
						removing it accidentally. 
						
						
					 
					
						2010-08-11 07:36:23 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						8363e31953 
					 
					
						
						
							
							Change the way backoff works. Instead of stopping reading from the pty  
						
						 
						
						... 
						
						
						
						when the client tty backs up too much, just stop updating the tty and
only update the internal screen. Then when the tty recovers, force a
redraw.
This prevents a dodgy client from causing other clients to go into
backoff while still allowing tmux to be responsive (locally) when seeing
lots of output. 
						
						
					 
					
						2010-08-11 07:34:43 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						933dc48de3 
					 
					
						
						
							
							Show which pane is active in the list-panes output, suggested by Dominik  
						
						 
						
						... 
						
						
						
						Honnef. 
						
						
					 
					
						2010-08-11 07:27:50 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Theo Deraadt 
							
						 
					 
					
						
						
							
						
						4274a7ec89 
					 
					
						
						
							
							switch back to kqueue for now, since (a) kqueue has been fixed to deal  
						
						 
						
						... 
						
						
						
						with strange devices and (b) since there appears to be a bull in the
poll code in libevent as well...
requested by nicm who is away 
						
						
					 
					
						2010-08-04 19:46:13 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						77f9c49829 
					 
					
						
						
							
							dup() the stdin fd so it isn't closed twice (once for stdin, once for tty).  
						
						 
						
						
						
						
					 
					
						2010-07-28 22:15:15 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						c87187f913 
					 
					
						
						
							
							When changing so that the client passes its stdout and stderr as well as  
						
						 
						
						... 
						
						
						
						stdin up to the server, I forgot one essential point - the tmux server
could now be both the producer and consumer. This happens when tmux is
run inside tmux, as well as when piping tmux commands together.
So, using stdio(3) was a bad idea - if sufficient data was written, this
could block in write(2). When that happened and the server was both
producer and consumer, it deadlocks.
Change to use libevent bufferevents for the client stdin, stdout and
stderr instead. This is trivial enough for output but requires a
callback mechanism to trigger when stdin is finished.
This relies on the underlying polling mechanism for libevent to work
with whatever devices to which the user could redirect stdin, stdout or
stderr, hence the change to use poll(2) over kqueue(2) for tmux. 
						
						
					 
					
						2010-07-24 20:11:59 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						bf09b00fe9 
					 
					
						
						
							
							kqueue(2) is currently broken when used with /dev/null and a few other  
						
						 
						
						... 
						
						
						
						devices.
An upcoming fix for some problems with the client stdout/stderr handling
relies on it working, so make tmux force libevent to use poll(2) via
EVENT_NOKQUEUE, until we have fixed kqueue. 
						
						
					 
					
						2010-07-24 19:25:31 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						a97b7ad11c 
					 
					
						
						
							
							Fix a crash: if remain-on-exit is set and the pane has exited, the  
						
						 
						
						... 
						
						
						
						buffers may not be valid, so do not try to disable/enable them when
switching to copy mode. 
						
						
					 
					
						2010-07-22 21:10:51 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						2b80ede963 
					 
					
						
						
							
							Don't return if in the current window since we may want to report a bell  
						
						 
						
						... 
						
						
						
						(if bell-action any/current), just clear the flag so the status line
doesn't show the bell. 
						
						
					 
					
						2010-07-19 21:13:03 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						2a0f3f0d79 
					 
					
						
						
							
							Send the \n to stdout with the message, not stderr... doh.  
						
						 
						
						
						
						
					 
					
						2010-07-19 18:27:38 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason McIntyre 
							
						 
					 
					
						
						
							
						
						a471b5de9c 
					 
					
						
						
							
							some escapes i missed;  
						
						 
						
						
						
						
					 
					
						2010-07-15 21:54:20 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						43355fa75c 
					 
					
						
						
							
							Make pane/window wrapping more logical (so with 10 windows, +10 from  
						
						 
						
						... 
						
						
						
						window 5 stays in the same place), and tidy the code. From Tiago Cunha. 
						
						
					 
					
						2010-07-14 18:37:49 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						b9c873cdaa 
					 
					
						
						
							
							Return the command client return code with MSG_EXIT now that MSG_ERROR and  
						
						 
						
						... 
						
						
						
						MSG_PRINT are unused.
New clients should be compatible with old tmux servers but vice versa may print
an error. 
						
						
					 
					
						2010-07-11 17:06:45 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Ted Unangst 
							
						 
					 
					
						
						
							
						
						b4b9b831ee 
					 
					
						
						
							
							replace some magic mouse constants with defines for clarity. ok nicm  
						
						 
						
						
						
						
					 
					
						2010-06-29 05:24:49 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						552c9cd83f 
					 
					
						
						
							
							Custom layouts. list-windows command displays the layout as a string (such as  
						
						 
						
						... 
						
						
						
						"bb62,159x48,0,0{79x48,0,0,79x48,80,0}") and it can be applied to another
window (with the same number of panes or fewer) using select-layout. 
						
						
					 
					
						2010-06-29 03:30:13 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						76bbdeb586 
					 
					
						
						
							
							Send all three of stdin, stdout, stderr from the client to the server, so that  
						
						 
						
						... 
						
						
						
						commands can directly make use of them. This means that load-buffer and
save-buffer can have "-" as the file to read from stdin or write to stdout.
This is a protocol version bump so the tmux server will need to be restarted
after upgrade (or an older client used). 
						
						
					 
					
						2010-06-28 22:10:42 +00:00