Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						eb9826f65d 
					 
					
						
						
							
							If the vertical cursor movement crosses the scroll region, CUU and CUD  
						
						 
						
						... 
						
						
						
						shouldn't be used even if VPA isn't present - in that case CUP should be used. 
						
						
					 
					
						2009-10-12 16:37:43 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						56157444de 
					 
					
						
						
							
							Wrap a couple of long lines.  
						
						 
						
						
						
						
					 
					
						2009-10-12 16:33:39 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						0aab5811ca 
					 
					
						
						
							
							Use absolute movement if right at the end of the line as it isn't a reliable  
						
						 
						
						... 
						
						
						
						place to move from relatively. 
						
						
					 
					
						2009-10-12 14:54:19 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						687c4a9fab 
					 
					
						
						
							
							Use relative cursor movement instead of absolute when possible and when  
						
						 
						
						... 
						
						
						
						supported by the terminal to reduce the size of the output data (generally
about 10-20%). 
						
						
					 
					
						2009-10-12 13:01:18 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						33ae063cae 
					 
					
						
						
							
							Permit attributes to be turned off in #[] by prefixing with "no", for example  
						
						 
						
						... 
						
						
						
						"noblink". 
						
						
					 
					
						2009-10-12 11:08:02 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						762459954f 
					 
					
						
						
							
							Similarly add a tty_cursor_pane function to tidy up most of the calls.  
						
						 
						
						
						
						
					 
					
						2009-10-12 09:29:58 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						972a6f5656 
					 
					
						
						
							
							_absolute is redundant, just use tty_region.  
						
						 
						
						
						
						
					 
					
						2009-10-12 09:16:59 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						f05b32f7ad 
					 
					
						
						
							
							Cleanup: use two functions for region setting, one for absolute and one inside  
						
						 
						
						... 
						
						
						
						pane. 
						
						
					 
					
						2009-10-12 09:09:35 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						0a2a354499 
					 
					
						
						
							
							Like linefeed, don't set the scroll region for reverse index unless it will be  
						
						 
						
						... 
						
						
						
						needed.
While here, also tidy up a couple of long lines and remove an extraneous blank. 
						
						
					 
					
						2009-10-11 22:35:10 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason McIntyre 
							
						 
					 
					
						
						
							
						
						b4ef3e5071 
					 
					
						
						
							
							punctuation fix;  
						
						 
						
						
						
						
					 
					
						2009-10-11 14:12:10 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						fbb030d7f7 
					 
					
						
						
							
							Set the current window pointer to NULL when killing a winlink that is to be  
						
						 
						
						... 
						
						
						
						replaced with link-window -k. This prevents it being pushed onto the last
window stack and causing a use-after-free.
Only took me an hour to find this :-/... 
						
						
					 
					
						2009-10-11 10:39:27 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						64b5f39656 
					 
					
						
						
							
							Add a pipe-pane command to allow a pane to be piped to a shell command, for  
						
						 
						
						... 
						
						
						
						example:
	pipe-pane 'cat >~/out'
No arguments stops outputing and closes the pipe; the -o flag toggles a pipe
and on and off (useful for key bindings).
Suggested by espie@. 
						
						
					 
					
						2009-10-11 10:04:27 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						325e20d76d 
					 
					
						
						
							
							Convert if-shell over to the background job framework as well.  
						
						 
						
						
						
						
					 
					
						2009-10-11 09:10:57 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						88f3ffe86e 
					 
					
						
						
							
							Remove a debugging leftover and add copyright.  
						
						 
						
						
						
						
					 
					
						2009-10-11 09:04:33 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						cebc988dd4 
					 
					
						
						
							
							Switch run-shell over to queue the command in the background like #().  
						
						 
						
						
						
						
					 
					
						2009-10-11 08:58:05 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						abedfa77da 
					 
					
						
						
							
							There isn't much point in having a free function if it isn't used.  
						
						 
						
						... 
						
						
						
						Also allow a NULL tree. 
						
						
					 
					
						2009-10-11 07:30:07 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						ff4b4e667a 
					 
					
						
						
							
							Collect status from dead jobs and don't invoke the callback until both  
						
						 
						
						... 
						
						
						
						all input (the socket is closed) and status is available. 
						
						
					 
					
						2009-10-11 07:20:16 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						4bc0f6e7e9 
					 
					
						
						
							
							Clean up by introducing a wrapper struct for mouse clicks rather than passing  
						
						 
						
						... 
						
						
						
						three u_chars around.
As a side-effect this fixes incorrectly rejecting high cursor positions
(because it was comparing them as signed char), reported by Tom Doherty. 
						
						
					 
					
						2009-10-11 07:01:10 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						f68ade7b1d 
					 
					
						
						
							
							Braek some bits out of server_fill_client() that aren't really related to  
						
						 
						
						... 
						
						
						
						polling into their own function. 
						
						
					 
					
						2009-10-11 00:53:14 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						095ecf2d90 
					 
					
						
						
							
							Put all jobs on a global all_jobs list and use that in server.c instead of  
						
						 
						
						... 
						
						
						
						running through all the clients. 
						
						
					 
					
						2009-10-10 18:42:14 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						b7c364a853 
					 
					
						
						
							
							-scroll mode which is dead.  
						
						 
						
						
						
						
					 
					
						2009-10-10 17:39:55 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5aa49e695e 
					 
					
						
						
							
							Split list-panes off from list-windows.  
						
						 
						
						
						
						
					 
					
						2009-10-10 17:19:38 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						2988c594cc 
					 
					
						
						
							
							Accept key and mouse input for keys in zombified windows if they are in a mode..  
						
						 
						
						
						
						
					 
					
						2009-10-10 15:29:34 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						9ed62eeb91 
					 
					
						
						
							
							When a window is zombified and automatic-rename is on, append [dead] to the  
						
						 
						
						... 
						
						
						
						name. 
						
						
					 
					
						2009-10-10 15:23:13 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						6bca92db4d 
					 
					
						
						
							
							Rather than running status-left, status-right and window title #() with popen  
						
						 
						
						... 
						
						
						
						immediately every redraw, queue them up and run them in the background,
starting each once every status-interval. The actual status line uses the
output from the last run.
This brings several advantages:
- tmux itself may be called from inside #() without causing the server to hang;
- likewise, sleep or similar doesn't cause the server to block;
- commands aren't run excessively often when redrawing;
- commands shared by status-left and status-right, or used multiple times, will
  only be run once.
run-shell and if-shell still use system()/popen() but will be changed over to
use this too later. 
						
						
					 
					
						2009-10-10 15:03:01 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						4658c063d5 
					 
					
						
						
							
							New option, mouse-select-pane. If on, the mouse may be used to select the  
						
						 
						
						... 
						
						
						
						current pane.
Suggested by sthen@ and also by someone else ages ago who I have forgotten. 
						
						
					 
					
						2009-10-10 14:51:16 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						3a20a05a49 
					 
					
						
						
							
							There is no point setting the scroll region up for line feeds unless scrolling  
						
						 
						
						... 
						
						
						
						is actually going to happen, so don't. 
						
						
					 
					
						2009-10-10 10:36:46 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						9dd72b9583 
					 
					
						
						
							
							Add "grouped sessions" which have independent name, options, current window and  
						
						 
						
						... 
						
						
						
						so on but where the linked windows are synchronized (ie creating, killing
windows and so on are mirrored between the sessions). A grouped session may be
created by passing -t to new-session.
Had this around for a while, tested by a couple of people. 
						
						
					 
					
						2009-10-10 10:02:48 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						b7d031cc92 
					 
					
						
						
							
							Support for individual session idle time locking. May be enabled by turning off  
						
						 
						
						... 
						
						
						
						the lock-server option (it is on by default). When this is off, each session
locks when it has been idle for the lock-after-time setting. When on, the
entire server locks when ALL sessions have been idle for their individual
lock-after-time settings.
This replaces one global-only option (lock-after-time) with another
(lock-server), but the default behaviour is usually preferable so there don't
seem to be many alternatives.
Diff/idea largely from Thomas Adam, tweaked by me. 
						
						
					 
					
						2009-10-10 09:46:11 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						93b353d353 
					 
					
						
						
							
							Instead of passing a struct pollfd ** around through various functions, build  
						
						 
						
						... 
						
						
						
						them into a tree and then convert into a flat poll array before and after poll.
This adds a little code but should reduce annoying problems with ordering when
adding new things that also need to be polled. 
						
						
					 
					
						2009-10-10 09:31:39 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						bf38a311da 
					 
					
						
						
							
							The UTF-8 detection idea doesn't work and I am reasonably happy with the  
						
						 
						
						... 
						
						
						
						current methods, so remove the (already #ifdef 0'd) code. 
						
						
					 
					
						2009-10-09 07:33:12 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						3af09ac946 
					 
					
						
						
							
							Add a simple synchronize-panes window option: when set, all input to any pane  
						
						 
						
						... 
						
						
						
						that is part of the window is also sent to all other panes in the same
window. Suggested by several, most recently Tomasz Pajor. 
						
						
					 
					
						2009-10-09 07:27:00 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						d528184836 
					 
					
						
						
							
							Be less aggressive about turning the cursor off, only explicitly turn it off  
						
						 
						
						... 
						
						
						
						when tmux is redrawing, otherwise leave in the state set by the application. 
						
						
					 
					
						2009-10-09 07:23:28 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						2cb2bb8257 
					 
					
						
						
							
							Support J and K for scroll up and scroll down in copy mode with vi keys,  
						
						 
						
						... 
						
						
						
						suggested by martynas. 
						
						
					 
					
						2009-10-07 15:58:40 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						56ddd3c0b1 
					 
					
						
						
							
							Fix comment.  
						
						 
						
						
						
						
					 
					
						2009-10-07 07:02:40 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						82efcc32ec 
					 
					
						
						
							
							Accept ^? for backspace as well as BSpace.  
						
						 
						
						
						
						
					 
					
						2009-10-06 07:32:26 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						35ca994ba2 
					 
					
						
						
							
							Remove scroll mode which is now redundant, copy mode should be used instead.  
						
						 
						
						... 
						
						
						
						The = key binding now does nothing. 
						
						
					 
					
						2009-10-06 07:19:32 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						9400fdac77 
					 
					
						
						
							
							Make C-Up and C-Down in copy mode scroll the screen up and down one line  
						
						 
						
						... 
						
						
						
						without moving the cursor, like Up and Down in scroll mode (which will shortly
disappear). 
						
						
					 
					
						2009-10-06 07:09:00 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						4ca2200d83 
					 
					
						
						
							
							If no target client is specified to commands which accept one, try to guess the  
						
						 
						
						... 
						
						
						
						current client, in a similar manner to how sessions already work: if the
current session can be established and has only one client, use that; otherwise
use the most recently created client. 
						
						
					 
					
						2009-10-05 18:30:54 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason McIntyre 
							
						 
					 
					
						
						
							
						
						45043ebf3e 
					 
					
						
						
							
							tweak previous;  
						
						 
						
						
						
						
					 
					
						2009-10-04 11:33:35 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						d42b86d22b 
					 
					
						
						
							
							Get / and ? the right way round in vi mode, and use : for goto line rather than  
						
						 
						
						... 
						
						
						
						g. 
						
						
					 
					
						2009-10-04 11:18:26 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						c734789b18 
					 
					
						
						
							
							Check for already locked/suspended clients in server_lock_client rather than  
						
						 
						
						... 
						
						
						
						its callers. 
						
						
					 
					
						2009-10-04 10:55:30 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						205857b232 
					 
					
						
						
							
							Add a key string for space ("Space") and document the names, suggested by  
						
						 
						
						... 
						
						
						
						guenther@. Also document how to bind " and ', suggested by miod@. 
						
						
					 
					
						2009-10-04 08:50:05 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						97ca5711f9 
					 
					
						
						
							
							C-v and M-v too.  
						
						 
						
						
						
						
					 
					
						2009-10-04 08:26:41 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						123ae9e103 
					 
					
						
						
							
							Support C-n/C-p with emacs keys in choice mode, also fix a comment.  
						
						 
						
						
						
						
					 
					
						2009-10-04 08:23:01 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						8fa1858a2c 
					 
					
						
						
							
							New lock-client and lock-session commands to lock an individual client or all  
						
						 
						
						... 
						
						
						
						clients attached to a session respectively. 
						
						
					 
					
						2009-09-24 14:17:09 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						1764ef81ef 
					 
					
						
						
							
							Don't allow locked or suspended clients to limit the size of active clients.  
						
						 
						
						
						
						
					 
					
						2009-09-24 07:02:56 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						fecf8dc44e 
					 
					
						
						
							
							Remove PROMPT_HIDDEN code which is now unused.  
						
						 
						
						
						
						
					 
					
						2009-09-23 14:42:48 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						9200a0be7a 
					 
					
						
						
							
							Support -c like sh(1) to execute a command, useful when tmux is a login  
						
						 
						
						... 
						
						
						
						shell. Suggested by halex@.
This includes another protocol version increase (the last for now) so again
restart the tmux server before upgrading. 
						
						
					 
					
						2009-09-23 12:03:30 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						18ea820cb0 
					 
					
						
						
							
							On SIGTERM, just abandon any suspended/locked clients and leave them to it,  
						
						 
						
						... 
						
						
						
						otherwise the server will hang around (refusing new connections) until they
exit properly. 
						
						
					 
					
						2009-09-23 08:21:57 +00:00