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  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						07a71fd432 
					 
					
						
						
							
							Store the current working directory in the session, change the default-path  
						
						 
						
						... 
						
						
						
						option to default to empty and make that mean that the stored session CWD is
used. 
						
						
					 
					
						2010-06-27 02:56:59 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						26524c99f6 
					 
					
						
						
							
							New option, detach-on-destroy, to set what happens to a client when the session  
						
						 
						
						... 
						
						
						
						it is attached to is destroyed. If on (the default), it is detached; if off, it
is switched to the most recently active session. 
						
						
					 
					
						2010-06-27 00:22:22 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						34464da8d3 
					 
					
						
						
							
							Use server_destroy_session() for kill-session.  
						
						 
						
						
						
						
					 
					
						2010-06-26 23:55:50 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						42e2413978 
					 
					
						
						
							
							Setting the cmdlist pointer in the bind-key to NULL to prevent it being freed  
						
						 
						
						... 
						
						
						
						after the command is executing is bogus because it may still be needed if the
same command is going to be executed again (for example if you "bind-key a
bind-key b ..."). Making a copy is hard, so instead add a reference count to
the cmd_list.
While here, also print bind-key -n and the rest of the flags properly.
Fixes problem reported by mcbride@. 
						
						
					 
					
						2010-06-26 18:20:53 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						ef7293379f 
					 
					
						
						
							
							Add a choose-buffer command for easier use of the paste buffer stack.  
						
						 
						
						
						
						
					 
					
						2010-06-21 21:44:09 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						386849edc1 
					 
					
						
						
							
							Extend the -t:+ and -t:- window targets for next and previous window to  
						
						 
						
						... 
						
						
						
						accept an offset such as -t:+2. From Tiago Cunha. 
						
						
					 
					
						2010-06-21 01:46:36 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						e63f0546a1 
					 
					
						
						
							
							Having a list of winlinks->alerts for each session is stupid, just store  
						
						 
						
						... 
						
						
						
						the alert flags directly in the winlink itself. 
						
						
					 
					
						2010-06-21 01:27:46 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						447a07e9f8 
					 
					
						
						
							
							Rename activity->alert in a couple of functions for consistency.  
						
						 
						
						
						
						
					 
					
						2010-06-21 00:25:32 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						ad466a69aa 
					 
					
						
						
							
							Give tmux sockets (but not the containing folder) group  
						
						 
						
						... 
						
						
						
						permissions. This allows hardlinks to the sockets to be used more
easily. 
						
						
					 
					
						2010-06-21 00:18:57 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5afb820d23 
					 
					
						
						
							
							Ensure we overwrite UTF-8 wide characters properly, and never overwrite  
						
						 
						
						... 
						
						
						
						characters we weren't overlapping.  Fixes "disappearing wide characters"
glitch. From Micah Cowan. 
						
						
					 
					
						2010-06-21 00:11:12 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						278d9bc721 
					 
					
						
						
							
							Last change erroneously used the target argument for looking up the  
						
						 
						
						... 
						
						
						
						client which caused pipe-pane to fail when used from the command
line. Instead pass NULL which should use the current client.
Spotted by Tiago Cunha. 
						
						
					 
					
						2010-06-14 23:06:13 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						1484eb8a51 
					 
					
						
						
							
							Add a missing command and some missing Ic, from Tiago Cunha.  
						
						 
						
						
						
						
					 
					
						2010-06-14 23:04:44 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						dcc100f165 
					 
					
						
						
							
							Use a macro-based mask for obtaining a key or modifier-set from the  
						
						 
						
						... 
						
						
						
						combination. Display C-@, etc, as C-Space, in list-keys. By Micah Cowan. 
						
						
					 
					
						2010-06-06 19:00:13 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						4e3bed2035 
					 
					
						
						
							
							Couple of missing command aliases/flags, from Tiago Cunha.  
						
						 
						
						
						
						
					 
					
						2010-06-05 16:54:24 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						510ec3fb9e 
					 
					
						
						
							
							Fix problems with window sizing seen by Raghavendra D Prabhu when  
						
						 
						
						... 
						
						
						
						starting tmux from .xinitrc.
One of the very few things the server relies on the client for now is to
pass through a message on SIGWINCH, but there is a condition where
potentially a SIGWINCH may be lost during the transition from unattached
(main.c) to attached (client.c). So trigger a size change immediately
after the client installs its SIGWINCH handler.
Also, when the terminal is resized, reset the scroll region and cursor
position. Previously, we were clearing our saved idea of these, but in
fact some terminals do not reset them on resize, so this caused problems
during redraw.
While here make a resize to the same size not cause a redraw and rename
the tmux.out output log file to include the tmux PID. 
						
						
					 
					
						2010-06-05 16:47:11 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						ceed5cc9a9 
					 
					
						
						
							
							Support the status_replace # replacement sequences in the pipe-pane  
						
						 
						
						... 
						
						
						
						command, thanks to Andrea Barisani. 
						
						
					 
					
						2010-06-05 16:34:30 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						0440d325d9 
					 
					
						
						
							
							Shut up gcc4 warnings.  
						
						 
						
						
						
						
					 
					
						2010-06-05 16:32:22 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						36c0871c23 
					 
					
						
						
							
							This ioctl(TIOCGWINSZ) call is no longer necessary, the result is never  
						
						 
						
						... 
						
						
						
						used and the server now does it later on the tty fd directly. 
						
						
					 
					
						2010-06-05 16:29:45 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						b88ec14f0e 
					 
					
						
						
							
							Fix binding of C-Space/C-@, from Micah Cowan.  
						
						 
						
						
						
						
					 
					
						2010-06-05 15:51:53 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						cc724f327a 
					 
					
						
						
							
							Make start-of-line work the same as end-of-line on wrapped lines (jump  
						
						 
						
						... 
						
						
						
						to real start if at edge of screen). By Micah Cowan. 
						
						
					 
					
						2010-06-05 15:49:48 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						43fa9a9ba6 
					 
					
						
						
							
							When the mode-mouse option is on, support dragging to make a selection  
						
						 
						
						... 
						
						
						
						in copy mode.
Also support the scroll wheel, although xterm strangely does not ignore
it in application mouse mode, causing redraw artifacts when scrolling up
(other terminals appear to be better behaved). 
						
						
					 
					
						2010-05-31 19:51:29 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						e1e120de1c 
					 
					
						
						
							
							Better to say "command key bindings" since we've just called them  
						
						 
						
						... 
						
						
						
						command keys. 
						
						
					 
					
						2010-05-30 19:19:42 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						7b7397241f 
					 
					
						
						
							
							There is no real reason not to list all the key bindings here rather  
						
						 
						
						... 
						
						
						
						than just a selection. 
						
						
					 
					
						2010-05-30 19:09:50 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						1618f3eae6 
					 
					
						
						
							
							Move imsg into libutil and add a man page.  
						
						 
						
						... 
						
						
						
						Minor bump for libutil.
Previous versions of this diff and man page looked at by various people.
"you should just commit" deraadt 
						
						
					 
					
						2010-05-26 16:44:32 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						c47d66f49b 
					 
					
						
						
							
							Rename some imsg bits to make namespace collisions less likely buf to  
						
						 
						
						... 
						
						
						
						ibuf, buf_read to ibuf_read, READ_BUF_SIZE to IBUF_READ_SIZE.
ok henning gilles claudio jacekm deraadt 
						
						
					 
					
						2010-05-26 13:56:07 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						1e8faaa217 
					 
					
						
						
							
							Don't die if the client has been detached when the job finishes, just  
						
						 
						
						... 
						
						
						
						don't display the output. 
						
						
					 
					
						2010-05-25 20:05:25 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						608eef731a 
					 
					
						
						
							
							Fix an out-of-date comment.  
						
						 
						
						
						
						
					 
					
						2010-05-25 19:47:30 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						4f5c5b37b8 
					 
					
						
						
							
							Pass in the session, rather than the client, to window modes' key()  
						
						 
						
						... 
						
						
						
						function. We were only ever using the client to find the session anyway.
This allows send-key to work properly for manipulating copy mode from
outside tmux.
From Micah Cowan. 
						
						
					 
					
						2010-05-23 19:42:19 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						0ed727a012 
					 
					
						
						
							
							Enhance paste-buffer to allow lines to be separated by any string, from  
						
						 
						
						... 
						
						
						
						Andrea Barisani. 
						
						
					 
					
						2010-05-19 22:28:14 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						d91127958d 
					 
					
						
						
							
							Colour+attribute options for status line alerts, from Alex Alexander.  
						
						 
						
						
						
						
					 
					
						2010-05-14 19:03:09 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						4af4d12475 
					 
					
						
						
							
							Accept (and document) "none" instead of "default" for attributes as it  
						
						 
						
						... 
						
						
						
						is clearer and avoids confusion with default colours. 
						
						
					 
					
						2010-05-14 18:56:21 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						e5f01febd7 
					 
					
						
						
							
							Use $OpenBSD$.  
						
						 
						
						
						
						
					 
					
						2010-05-14 14:41:06 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Joel Sing 
							
						 
					 
					
						
						
							
						
						72d1afa169 
					 
					
						
						
							
							Catch SIGHUP and terminate if running as a client. This prevents clients  
						
						 
						
						... 
						
						
						
						from being left hanging around when, for example, a SSH session is
disconnected.
ok nicm@ 
						
						
					 
					
						2010-05-12 15:05:39 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						e0f4697e7c 
					 
					
						
						
							
							Identical behaviour to select-prompt can now be obtained with  
						
						 
						
						... 
						
						
						
						command-prompt, so remove select-prompt and change ' to be bound to
command-prompt -p index "select-window -t :%%". 
						
						
					 
					
						2010-05-05 23:24:23 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						c4a2fdf15b 
					 
					
						
						
							
							Put this back in with the initialisation in the right order.  
						
						 
						
						
						
						
					 
					
						2010-05-04 17:28:16 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						af5e0bd15a 
					 
					
						
						
							
							Revert last change, it appears to be broken somehow.  
						
						 
						
						
						
						
					 
					
						2010-05-04 08:48:06 +00:00