Use the tsl and fsl terminfo(5) capabilities to update terminal title

and automatically fill them in on terminals with the XT capability
(which means their title setting is xterm-compatible). From hsim at
gmx.li.
This commit is contained in:
Nicholas Marriott
2011-05-08 19:53:06 +00:00
parent b0a88ebead
commit 295ace6820
5 changed files with 28 additions and 11 deletions

9
tty.c
View File

@ -369,14 +369,13 @@ tty_pututf8(struct tty *tty, const struct grid_utf8 *gu)
void
tty_set_title(struct tty *tty, const char *title)
{
if (strstr(tty->termname, "xterm") == NULL &&
strstr(tty->termname, "rxvt") == NULL &&
strcmp(tty->termname, "screen") != 0)
if (!tty_term_has(tty->term, TTYC_TSL) ||
!tty_term_has(tty->term, TTYC_FSL))
return;
tty_puts(tty, "\033]0;");
tty_putcode(tty, TTYC_TSL);
tty_puts(tty, title);
tty_putc(tty, '\007');
tty_putcode(tty, TTYC_FSL);
}
void