=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/tty.c,v retrieving revision 1.433 retrieving revision 1.434 diff -c -r1.433 -r1.434 *** src/usr.bin/tmux/tty.c 2023/09/02 09:17:23 1.433 --- src/usr.bin/tmux/tty.c 2023/09/02 20:03:10 1.434 *************** *** 1,4 **** ! /* $OpenBSD: tty.c,v 1.433 2023/09/02 09:17:23 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: tty.c,v 1.434 2023/09/02 20:03:10 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 82,87 **** --- 82,88 ---- #define TTY_BLOCK_STOP(tty) (1 + ((tty)->sx * (tty)->sy) / 8) #define TTY_QUERY_TIMEOUT 5 + #define TTY_REQUEST_LIMIT 30 void tty_create_log(void) *************** *** 369,380 **** tty_puts(tty, "\033[>c"); if (~tty->flags & TTY_HAVEXDA) tty_puts(tty, "\033[>q"); ! if (~tty->flags & TTY_HAVEFG) ! tty_puts(tty, "\033]10;?\033\\"); ! if (~tty->flags & TTY_HAVEBG) ! tty_puts(tty, "\033]11;?\033\\"); } else tty->flags |= TTY_ALL_REQUEST_FLAGS; } void --- 370,398 ---- tty_puts(tty, "\033[>c"); if (~tty->flags & TTY_HAVEXDA) tty_puts(tty, "\033[>q"); ! tty_puts(tty, "\033]10;?\033\\"); ! tty_puts(tty, "\033]11;?\033\\"); } else tty->flags |= TTY_ALL_REQUEST_FLAGS; + tty->last_requests = time (NULL); + } + + void + tty_repeat_requests(struct tty *tty) + { + time_t t = time (NULL); + + if (~tty->flags & TTY_STARTED) + return; + + if (t - tty->last_requests <= TTY_REQUEST_LIMIT) + return; + tty->last_requests = t; + + if (tty->term->flags & TERM_VT100LIKE) { + tty_puts(tty, "\033]10;?\033\\"); + tty_puts(tty, "\033]11;?\033\\"); + } } void