De acordo com o manual do zsh
TMOUT If this parameter is nonzero, the shell will receive an ALRM signal if a command is not entered within the specified number of seconds after issuing a prompt. If there is a trap on SIGALRM, it will be executed and a new alarm is scheduled using the value of the TMOUT parameter after executing the trap. If no trap is set, and the idle time of the terminal is not less than the value of the TMOUT parameter, zsh terminates. Otherwise a new alarm is scheduled to TMOUT seconds after the last keypress.
Eu testei
zsh> export TMOUT=10
e o terminal gnome superior morreu quando a casca parou. O mesmo mecanismo também funciona dentro do bash. Isso resolve as suas preocupações sobre a nuking de terminais ocupados, pois só começa a contar após a emissão de um prompt de shell
Eu não acho uma boa ideia em geral, pois cria eventos "mágicos" que podem potencialmente perder o estado. Eu recomendo ficar melhor com as teclas "fechar janela" e "focar outra janela (talvez um terminal)" do seu gerenciador de janelas de sua escolha. Mas se você quiser terminais poofing, este é provavelmente o melhor caminho a percorrer.