Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						297ebb1160 
					 
					
						
						
							
							Old xterm F1-F4 are \033O_P not \033[O_P.  
						
						 
						
						
						
						
					 
					
						2009-11-05 19:35:16 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						ff55eb5bfa 
					 
					
						
						
							
							Unused variable. Aargh.  
						
						 
						
						
						
						
					 
					
						2009-11-05 19:32:34 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						80e0158112 
					 
					
						
						
							
							Switch the tty key tree over to an (unbalanced) ternary tree which allows  
						
						 
						
						... 
						
						
						
						partial matches to be done (they wait for further data or a timer to expire,
like a naked escape).
Mouse and xterm-style keys still expect to be atomic. 
						
						
					 
					
						2009-11-05 19:29:41 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						05855393f0 
					 
					
						
						
							
							key_string_lookup_key uses a static buffer, so copy its output into the working  
						
						 
						
						... 
						
						
						
						buffer before calling the command print function which can also use it (eg
send-keys). 
						
						
					 
					
						2009-11-05 12:04:50 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						a790e16fa2 
					 
					
						
						
							
							Key flags are only used for initialisation so they are not needed in the main  
						
						 
						
						... 
						
						
						
						tty_key struct. 
						
						
					 
					
						2009-11-05 10:44:36 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						25c604fb1c 
					 
					
						
						
							
							EVLOOP_ONCE takes care of the wakeup, so no need to call event_loopexit(NULL).  
						
						 
						
						
						
						
					 
					
						2009-11-05 08:50:32 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						38e13942ac 
					 
					
						
						
							
							Now all timers are events, there is no longer any need to wake up every 50 ms -  
						
						 
						
						... 
						
						
						
						only wake up when an event happens. 
						
						
					 
					
						2009-11-05 08:48:15 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						b58bf49e91 
					 
					
						
						
							
							Switch tty key input over to happen on a read event. This is a bit more  
						
						 
						
						... 
						
						
						
						complicated because of escape input, but in that case instead of processing a
key immediately, schedule a timer and reprocess the bufer when it expires.
This currently assumes that keys will be atomic (ie that if eg F1 is pressed
the entire sequence is present in the buffer). This is usually but not always
true, a change in the tree format so it can differentiate potential (partial)
key sequences will happens soon and will allow this to be fixed. 
						
						
					 
					
						2009-11-05 08:45:08 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						80444436f3 
					 
					
						
						
							
							Convert the key repeat timer to an event.  
						
						 
						
						
						
						
					 
					
						2009-11-05 00:05:00 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						44d6a2c435 
					 
					
						
						
							
							Change window name change to use a timer event rather than a gettimeofday()  
						
						 
						
						... 
						
						
						
						check every loop. 
						
						
					 
					
						2009-11-04 23:54:57 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						946ed97273 
					 
					
						
						
							
							Move status timer check into the global once-per-second timer, this could maybe  
						
						 
						
						... 
						
						
						
						be done better but one every second is better than once every 50 ms. 
						
						
					 
					
						2009-11-04 23:42:51 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						b1264a7416 
					 
					
						
						
							
							Use timeout events for the identify and message timers.  
						
						 
						
						
						
						
					 
					
						2009-11-04 23:29:42 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						b3c4956efe 
					 
					
						
						
							
							Don't reenlist the client imsg event every loop, instead have a small function  
						
						 
						
						... 
						
						
						
						to it and call it after the event triggers or after a imsg is added. 
						
						
					 
					
						2009-11-04 23:12:43 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						6a6a42aa3a 
					 
					
						
						
							
							It would help if I read my own comments... make alt keys work again by sending  
						
						 
						
						... 
						
						
						
						alt AND the key not alt instead of it. 
						
						
					 
					
						2009-11-04 23:00:22 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						862fe15c32 
					 
					
						
						
							
							Move some common code into a function.  
						
						 
						
						
						
						
					 
					
						2009-11-04 22:57:49 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						fde36fccc3 
					 
					
						
						
							
							Tell the client to exit on configuration file error.  
						
						 
						
						
						
						
					 
					
						2009-11-04 22:47:34 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5bebbd81d7 
					 
					
						
						
							
							Bye-bye buffer*.c.  
						
						 
						
						
						
						
					 
					
						2009-11-04 22:44:53 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						a02c7e804c 
					 
					
						
						
							
							Convert the window pane (pty master side) fd over to use a bufferevent.  
						
						 
						
						... 
						
						
						
						The evbuffer API is very similar to the existing tmux buffer API so this was
remarkably painless. Not many possible ways to do it, I suppose. 
						
						
					 
					
						2009-11-04 22:43:11 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						06ffed3216 
					 
					
						
						
							
							Call event_init() before loading the config file, since potentially it could  
						
						 
						
						... 
						
						
						
						set up events. 
						
						
					 
					
						2009-11-04 22:40:36 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						91ad830c88 
					 
					
						
						
							
							Switch window pane pipe redirect fd over to a bufferevent.  
						
						 
						
						
						
						
					 
					
						2009-11-04 22:02:38 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						7342615c7d 
					 
					
						
						
							
							Switch tty fds over to a bufferevent.  
						
						 
						
						
						
						
					 
					
						2009-11-04 21:47:42 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						abb728684b 
					 
					
						
						
							
							Add back JOB_PERSIST checks that got lost.  
						
						 
						
						
						
						
					 
					
						2009-11-04 21:10:49 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						4d6091379b 
					 
					
						
						
							
							Switch jobs over to use a bufferevent.  
						
						 
						
						
						
						
					 
					
						2009-11-04 21:04:43 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						ea8c8c5f33 
					 
					
						
						
							
							A couple of minor cosmetic changes.  
						
						 
						
						
						
						
					 
					
						2009-11-04 20:59:22 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						abf3a5d50e 
					 
					
						
						
							
							Initial changes to move tmux to libevent.  
						
						 
						
						... 
						
						
						
						This moves the client-side loops are pretty much fully over to event-based only
(tmux.c and client.c) but server-side (server.c and friends) treats libevent as
a sort of clever poll, waking up after every event to run various things.
Moving the server stuff over to bufferevents and timers and so on will come
later. 
						
						
					 
					
						2009-11-04 20:50:11 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						f575e39b0a 
					 
					
						
						
							
							Unused (but assigned to) variable, found by lint.  
						
						 
						
						
						
						
					 
					
						2009-11-04 20:35:19 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						10f58cb1bc 
					 
					
						
						
							
							Ignore the colour on space, /not/ the attributes.  
						
						 
						
						
						
						
					 
					
						2009-11-04 15:59:27 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						a94535f318 
					 
					
						
						
							
							Fix the reverse emulation when a terminal doesn't have setab to use the correct  
						
						 
						
						... 
						
						
						
						fg/bg (adjusted if spaces) and happen before attribute setting. 
						
						
					 
					
						2009-11-04 13:34:26 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						d2dfbef05a 
					 
					
						
						
							
							Change declaration and use of malloc_options to be more standard, from Tim van  
						
						 
						
						... 
						
						
						
						der Molen. 
						
						
					 
					
						2009-11-04 12:41:43 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						d8332e6373 
					 
					
						
						
							
							Don't backoff based on suspended or deda clients as they are always likely to  
						
						 
						
						... 
						
						
						
						have data backed up. 
						
						
					 
					
						2009-11-04 08:35:11 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						0785f2872f 
					 
					
						
						
							
							Add an activity time for clients, like for sessions, and change session and  
						
						 
						
						... 
						
						
						
						client lookup to pick the most recently used rather than the most recently
created - this is much more useful when used interactively and (because the
activity time is set at creation) should have no effect on source-file.
Based on a problem reported by Jan Johansson. 
						
						
					 
					
						2009-11-03 22:40:40 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5761ab6b55 
					 
					
						
						
							
							If it isn't available explicitly, work out the current client in a similar way  
						
						 
						
						... 
						
						
						
						to the current session - build a list of the possibilities then pick the
newest. 
						
						
					 
					
						2009-11-03 20:59:22 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5289da29ba 
					 
					
						
						
							
							Change session and client activity and creation time members to have more  
						
						 
						
						... 
						
						
						
						meaningful names.
Also, remove the code to try and update the session activity time for the
command client when a command message is received as is pointless because it
des not have a session. 
						
						
					 
					
						2009-11-03 20:29:47 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						c95f1d1ff9 
					 
					
						
						
							
							tv member of struct paste_buffer is updated but not otherwise used, so remove  
						
						 
						
						... 
						
						
						
						it. 
						
						
					 
					
						2009-11-03 17:17:24 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						01943062b4 
					 
					
						
						
							
							Fix vi page up mode key (from naddy), add missing half page keys, and sort.  
						
						 
						
						
						
						
					 
					
						2009-11-03 06:55:49 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						86182f33c3 
					 
					
						
						
							
							Double the escape timer (the time after a \033 is received before tmux gives up  
						
						 
						
						... 
						
						
						
						waiting to see if it is part of a key sequence and passes it through) to 500
ms, the previous setting was too fast. Suggested by naddy. 
						
						
					 
					
						2009-11-02 20:18:22 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						1c853c6860 
					 
					
						
						
							
							When matching the session names with -t, look for exact matches first before  
						
						 
						
						... 
						
						
						
						trying partial matches.
Avoids problems where two ambiguous matches are present before an exact match
(eg foo1, foo2, foo would give an error on trying -tfoo), reported by Natacha
Port? natbsd at instinctive dot eu. 
						
						
					 
					
						2009-11-02 16:24:29 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						2a585dc4ed 
					 
					
						
						
							
							Leftover unused variable :-/.  
						
						 
						
						
						
						
					 
					
						2009-11-02 13:42:25 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						42fd44f1db 
					 
					
						
						
							
							There isn't much point in doing lstat before connect so instead just do connect  
						
						 
						
						... 
						
						
						
						and handle ENOENT from it which is a little tidier. 
						
						
					 
					
						2009-11-02 13:41:25 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						992dd86309 
					 
					
						
						
							
							Reorder slightly to tidy code.  
						
						 
						
						
						
						
					 
					
						2009-11-02 12:48:44 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						2f813ef75d 
					 
					
						
						
							
							Add a flag for jobs that shouldn't be freed after they've died and use it for  
						
						 
						
						... 
						
						
						
						status jobs, then only kill those jobs when status-left, status-right or
set-titles-string is changed.
Fixes problems with changing options from inside #(). 
						
						
					 
					
						2009-11-01 23:20:37 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						32299e4010 
					 
					
						
						
							
							Missing setenv/showenv aliases.  
						
						 
						
						
						
						
					 
					
						2009-11-01 19:17:08 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						e8b25188ad 
					 
					
						
						
							
							Missing ;. From eric@ ages ago.  
						
						 
						
						
						
						
					 
					
						2009-10-29 08:59:17 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						dc3fdc8dc7 
					 
					
						
						
							
							If any client currently displaying a window pane has more than 1 KB of output  
						
						 
						
						... 
						
						
						
						buffered, don't accept any further data from the process running in the pane.
This makes tmux much more responsive when flooded with output, although other
buffers can still have an impact when running remotely.
Prompted by a query from Ranganathan Sankaralingam. 
						
						
					 
					
						2009-10-28 22:53:14 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						1eaefbf169 
					 
					
						
						
							
							Add a minor optimisatin: if the character being printed is space, don't worry  
						
						 
						
						... 
						
						
						
						about setting the background colour or attributes (except reverse). 
						
						
					 
					
						2009-10-28 08:52:36 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5730cbf3e3 
					 
					
						
						
							
							Twaek this slightly to avoid confusing use of flags variable.  
						
						 
						
						
						
						
					 
					
						2009-10-28 08:33:20 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						eb5f4460d1 
					 
					
						
						
							
							Setting SGR0 when setting the fg and bg has problems if only one of the two is  
						
						 
						
						... 
						
						
						
						meant to be default, so rewrite the code to move this outside, move setting
colours before attributes and generally clean up.
Tested by sthen@, fixes problems he was seeing with mutt and should fix some
existing problems with (rarely) lost attributes. 
						
						
					 
					
						2009-10-28 08:27:33 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						37ffdff5ba 
					 
					
						
						
							
							Move the poll registration functions into the server-*.c files.  
						
						 
						
						
						
						
					 
					
						2009-10-27 13:03:33 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Theo Deraadt 
							
						 
					 
					
						
						
							
						
						ed62d1263c 
					 
					
						
						
							
							tabs are better; ok nicm  
						
						 
						
						
						
						
					 
					
						2009-10-26 21:42:04 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						a8b1379ccb 
					 
					
						
						
							
							Clear signal flags /before/ taking action and continue afterwards to reduce  
						
						 
						
						... 
						
						
						
						chance of dropping signals. Pointed out by deraadt@. 
						
						
					 
					
						2009-10-26 21:38:18 +00:00