Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						543fb99bc6 
					 
					
						
						
							
							Two new options, window-status-format and window-status-current-format, which  
						
						 
						
						... 
						
						
						
						allow the format of each window in the status line window list to be controlled
using similar # sequences as status-left/right.
This diff also moves part of the way towards UTF-8 support in window names but
it isn't quite there yet. 
						
						
					 
					
						2009-11-19 16:22:10 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason McIntyre 
							
						 
					 
					
						
						
							
						
						8b8a211185 
					 
					
						
						
							
							tweak previous;  
						
						 
						
						
						
						
					 
					
						2009-11-19 15:00:32 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						4a38189349 
					 
					
						
						
							
							Revert to xterm-keys off by default. It was on as an experiment to see if the  
						
						 
						
						... 
						
						
						
						option could be removed, but it affects vi, so we have to keep the option, and
a conservative default is better. 
						
						
					 
					
						2009-11-19 14:06:33 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						ed781e84ee 
					 
					
						
						
							
							Tidy up by breaking the # replacement code into a separate function, also add a  
						
						 
						
						... 
						
						
						
						few comments. 
						
						
					 
					
						2009-11-19 11:38:54 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						ac5b7d518e 
					 
					
						
						
							
							Don't interpret #() for display-message, it usually doesn't make sense and may  
						
						 
						
						... 
						
						
						
						leak commands. 
						
						
					 
					
						2009-11-19 10:22:06 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						8d4eae5662 
					 
					
						
						
							
							Missed an unused variable :-/.  
						
						 
						
						
						
						
					 
					
						2009-11-18 17:03:16 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						a78cc98c8b 
					 
					
						
						
							
							Cleanup by moving various (mostly horrible) little bits handling UTF-8 grid  
						
						 
						
						... 
						
						
						
						data into functions in a new file, grid-utf8.c, and use sizeof intead of
UTF8_DATA.
Also nuke trailing whitespace from tmux.1, reminded by jmc. 
						
						
					 
					
						2009-11-18 17:02:17 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						8db145da1e 
					 
					
						
						
							
							Add a per-client log of status line messages displayed while that client  
						
						 
						
						... 
						
						
						
						exists. A new message-limit session option sets the maximum number of entries
and a command, show-messages, shows the log (bound to ~ by default).
This (and prompt history) might be better as a single global log but until
there are global options it is easier for them to be per client. 
						
						
					 
					
						2009-11-18 13:16:33 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						68f5c9c72d 
					 
					
						
						
							
							Mark -n keys with (no prefix) rather than [].  
						
						 
						
						
						
						
					 
					
						2009-11-18 10:18:25 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						a9ca8df8e3 
					 
					
						
						
							
							Permit top-bit-set characters to be entered in the status line. They could  
						
						 
						
						... 
						
						
						
						already be set from the shell and are just passed through when printing (so
invisible characters or displaying on terminals with different character sets
may cause problems).
Note that entering UTF-8 may not work and in any case currently the status line
cannot display it correctly (outside of status-left/status-right). 
						
						
					 
					
						2009-11-17 13:30:07 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						67bf0933e2 
					 
					
						
						
							
							In choose mode, assign each item a number or lowercase letter from those  
						
						 
						
						... 
						
						
						
						available and accept that as a shortcut key for the item. 
						
						
					 
					
						2009-11-17 13:06:11 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5d7bff4051 
					 
					
						
						
							
							A screen can be one cell wide; don't crash if that is the case.  
						
						 
						
						
						
						
					 
					
						2009-11-16 13:40:45 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						9f6d685c05 
					 
					
						
						
							
							I made a complete horlicks of the last change, fix it so it doesn't either lead  
						
						 
						
						... 
						
						
						
						to a double free or free the item after the end of the array. 
						
						
					 
					
						2009-11-16 11:15:44 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						10e05f9867 
					 
					
						
						
							
							Tweak a comment and add some spacing.  
						
						 
						
						
						
						
					 
					
						2009-11-13 19:58:32 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						76ef8770cd 
					 
					
						
						
							
							Get rid of the ugly CMD_CHFLAG macro and use a const string (eg "dDU") in the  
						
						 
						
						... 
						
						
						
						command entry structs and a couple of functions to check/set the flags. 
						
						
					 
					
						2009-11-13 19:53:28 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						dafa0f022c 
					 
					
						
						
							
							Unreachable statement, found by lint.  
						
						 
						
						
						
						
					 
					
						2009-11-13 18:59:14 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						390472566c 
					 
					
						
						
							
							Tidy up and fix some types, prompted by lint via deraadt.  
						
						 
						
						
						
						
					 
					
						2009-11-13 18:13:18 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						a18a374d51 
					 
					
						
						
							
							imsg_read returns ssize_t not int, pointed out by lint via deraadt.  
						
						 
						
						
						
						
					 
					
						2009-11-13 18:07:52 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						8e47966225 
					 
					
						
						
							
							Destroy panes immediately rather than checking them all every loop.  
						
						 
						
						
						
						
					 
					
						2009-11-13 17:33:07 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						1415eb3dd2 
					 
					
						
						
							
							Use winlink_remove() to remove old winlinks when synchronizing grouped sessions  
						
						 
						
						... 
						
						
						
						rather than doing it manually and not adjusted the reference count. Fixes
crash seen by Dan Harnett. 
						
						
					 
					
						2009-11-13 14:47:31 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5d397462e4 
					 
					
						
						
							
							Zap unused functions, prompted by deraadt.  
						
						 
						
						
						
						
					 
					
						2009-11-13 07:00:54 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						5ae542e7ee 
					 
					
						
						
							
							Emulate the ri (reverse index) capability: this allows tmux to at least start  
						
						 
						
						... 
						
						
						
						on Sun consoles (TERM=sun or sun-color), even if there appear to still be
problems on some boxes (my Blade 100 is fine but edd's Blade 1000 shows odd
screen corruption). 
						
						
					 
					
						2009-11-12 08:05:23 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						d9deb4b530 
					 
					
						
						
							
							Support rxvt-style keys again, but this time: support all the variations, put  
						
						 
						
						... 
						
						
						
						them in as raw escape sequences rather than fiddling with the values from
terminfo, put them /after/ the terminfo values so the latter take precedence. 
						
						
					 
					
						2009-11-12 08:01:02 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						89763f2ace 
					 
					
						
						
							
							Rewrite a confusing loop when freeing the arg array on exit and move the check  
						
						 
						
						... 
						
						
						
						for argv being NULL, prompted by parfait via deraadt.
Also fix some definite brokenness when assigning multiple environment variables
in arguments (such as "X=1 Y=2"). 
						
						
					 
					
						2009-11-11 18:56:07 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						9df4e7597d 
					 
					
						
						
							
							Add an explicit zero-length check for UTF-8 input data, prompted by a report  
						
						 
						
						... 
						
						
						
						from parfait via deraadt.
While here, add a statement to set the width when filling with _s if not enough
space (width should never be high enough at the moment anyway), and wrap some
long lines. 
						
						
					 
					
						2009-11-11 18:53:21 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						08a8ccf46b 
					 
					
						
						
							
							Free the pane bufferevent when the fd is closed (the signal could come before  
						
						 
						
						... 
						
						
						
						the error callback). 
						
						
					 
					
						2009-11-11 13:24:42 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						2756437f4b 
					 
					
						
						
							
							Only need to chmod +x or -x the socket when a client is created, lost or  
						
						 
						
						... 
						
						
						
						attached, rather than every event loop. 
						
						
					 
					
						2009-11-11 08:00:42 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						15b9946a40 
					 
					
						
						
							
							There is no real standard for modifier plus function keys. Previously, tmux  
						
						 
						
						... 
						
						
						
						output some from rxvt but in other ways did the same as xterm or other
terminals, but this is a bit inconsistent.
xterm's method is fairly sensible and we already support it (xterm-keys), so
enable it by default instead. 
						
						
					 
					
						2009-11-10 18:53:11 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						d9961f40bf 
					 
					
						
						
							
							Don't output rxvtisms either.  
						
						 
						
						
						
						
					 
					
						2009-11-10 18:48:03 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						05831b52c4 
					 
					
						
						
							
							Twiddling the last bit is an rxvtism, so do not support it in the table by  
						
						 
						
						... 
						
						
						
						default. 
						
						
					 
					
						2009-11-10 17:59:34 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						b92fcf23fd 
					 
					
						
						
							
							Whoops, this is needed for last commit as well.  
						
						 
						
						
						
						
					 
					
						2009-11-10 17:41:35 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						38f64b3da3 
					 
					
						
						
							
							Lookup key as a named key (eg 'Space') before checking for single character  
						
						 
						
						... 
						
						
						
						keys, makes C-Space/M-Space etc resolve to the correct key code. 
						
						
					 
					
						2009-11-10 17:24:43 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						9f47c6083a 
					 
					
						
						
							
							Don't return 1 unless there was actually a problem (signal/lost server) rather  
						
						 
						
						... 
						
						
						
						than for all events (normal exit/detach/etc). 
						
						
					 
					
						2009-11-10 15:47:48 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						6609093625 
					 
					
						
						
							
							Just ignore tty fd errors rather than dying, stops the server dying if the  
						
						 
						
						... 
						
						
						
						session is disconnected abrubtly (eg ssh ~.). 
						
						
					 
					
						2009-11-09 22:50:29 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						591fa23f6e 
					 
					
						
						
							
							The input key should be a u_char. Fixes top-bit-set input problem reported by  
						
						 
						
						... 
						
						
						
						ajacoutot@. 
						
						
					 
					
						2009-11-09 14:40:06 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						daf150c38d 
					 
					
						
						
							
							Constify buf.  
						
						 
						
						
						
						
					 
					
						2009-11-09 11:45:10 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						f98d13e7dc 
					 
					
						
						
							
							Don't try enable/disable the event if the window pane is dead (fd == -1), as  
						
						 
						
						... 
						
						
						
						the event will have been freed. 
						
						
					 
					
						2009-11-06 10:42:06 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Marriott 
							
						 
					 
					
						
						
							
						
						bed8153ba0 
					 
					
						
						
							
							Clear to the end of the screen from the right starting point when drawing  
						
						 
						
						... 
						
						
						
						line-by-line (in panes or if ed not supported). Fixes problem spotted by Frank
Terbeck. 
						
						
					 
					
						2009-11-05 22:35:28 +00:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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