mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Focus events can cause trouble if left on and they can't be turned off
during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
This commit is contained in:
		
							
								
								
									
										14
									
								
								tty.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								tty.c
									
									
									
									
									
								
							@@ -219,8 +219,13 @@ tty_start_tty(struct tty *tty)
 | 
			
		||||
	if (tty_term_has(tty->term, TTYC_KMOUS))
 | 
			
		||||
		tty_puts(tty, "\033[?1000l\033[?1006l\033[?1005l");
 | 
			
		||||
 | 
			
		||||
	if (tty_term_has(tty->term, TTYC_XT))
 | 
			
		||||
	if (tty_term_has(tty->term, TTYC_XT)) {
 | 
			
		||||
		if (options_get_number(&global_options, "focus-events")) {
 | 
			
		||||
			tty->flags |= TTY_FOCUS;
 | 
			
		||||
			tty_puts(tty, "\033[?1004h");
 | 
			
		||||
		}
 | 
			
		||||
		tty_puts(tty, "\033[c\033[>4;1m\033[m");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	tty->cx = UINT_MAX;
 | 
			
		||||
	tty->cy = UINT_MAX;
 | 
			
		||||
@@ -282,8 +287,13 @@ tty_stop_tty(struct tty *tty)
 | 
			
		||||
	if (tty_term_has(tty->term, TTYC_KMOUS))
 | 
			
		||||
		tty_raw(tty, "\033[?1000l\033[?1006l\033[?1005l");
 | 
			
		||||
 | 
			
		||||
	if (tty_term_has(tty->term, TTYC_XT))
 | 
			
		||||
	if (tty_term_has(tty->term, TTYC_XT)) {
 | 
			
		||||
		if (tty->flags & TTY_FOCUS) {
 | 
			
		||||
			tty->flags &= ~TTY_FOCUS;
 | 
			
		||||
			tty_puts(tty, "\033[?1004l");
 | 
			
		||||
		}
 | 
			
		||||
		tty_raw(tty, "\033[>4m\033[m");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	tty_raw(tty, tty_term_string(tty->term, TTYC_RMCUP));
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user