As improbable as it might seem, PuTTY does this in response to a combination of characters.
PuTTY recognizes many (by no
means all) of the escape sequences used for xterm
, Linux console and some less familiar terminals. One of PuTTY's developers compiled a list of all of the ones that might be of interest, about 650 items. You can find copies here and there named "all-escapes.txt", beginning thus:
# This file is hoped to document all the escape sequences supported by
# terminals that are vaguely compliant with ECMA-48 and friends.
# Changes should be submitted to <bjh21@bjh21.me.uk>
# It includes everything from:
# <URL:http://www.cs.utk.edu/~shuford/terminal/dec_vt220_codes.txt> 1999-05-16
# <URL:http://www.cs.utk.edu/~shuford/terminal/vt100_reference_card.txt>
# 1993-02-01
# <URL:http://www.cs.utk.edu/~shuford/terminal/vt100_codes_news.txt>1998-09-18
# <URL:http://www.cs.utk.edu/~shuford/terminal/ansi_dec_controls_news.txt>
# 1999-05-16
# <URL:http://www.cs.utk.edu/~shuford/terminal/xterm_controls.txt> 1999-10-12
# <URL:http://www.cs.utk.edu/~shuford/terminal/color_control_news.txt>
# 1999-11-13
# ECMA-48 5th Ed. control functions (section 8.3, annex F)
# Linux console_codes(4)
# SunOS 5.7 wscons(7D)
# UnixWare 7 display(7)
# IRIX 6.5.5 xwsh(1G)
# VT220 Reference manual (<URL:http://vt100.net/docs/vt220-rm/>, EK-VT220-RM)
# <URL:http://vt100.net/ctrlseq_dec.html> 1999-11-24
# <URL:http://vt100.net/ctrlfunc_dec.html> 1999-12-01
# <URL:http://www.wyse.com/service/support/kbase/SEQwt.asp?Q=9> (wy75)
# 1999-07-19
# <URL:ftp://ftp.cs.cmu.edu/afs/cs/user/ralf/pub/rbcom346.zip#TERM-EMU.DOC>
# 1999-09-13
# <URL:http://www.itscj.ipsj.or.jp/ISO-IR/2-1.htm> 1999-04-19
# <URL:http://www.itscj.ipsj.or.jp/ISO-IR/2-2.htm> 2004-09-27
# <URL:http://www.itscj.ipsj.or.jp/ISO-IR/2-3.htm> 2004-09-27
# <URL:http://www.itscj.ipsj.or.jp/ISO-IR/2-8-1.htm> 1999-04-19
# <URL:http://www.itscj.ipsj.or.jp/ISO-IR/2-8-2.htm> 2001-05-10
# iBCS2 description in ESR's termtypes.master version 10.2.7
# Reflection Terminal Reference Manual for ADDS, ANSI, DG, VT, WYSE, and
# Unisys Hosts; Version 7.0; September 1998; published by WRQ Inc.
# DEC Terminals and Printers Handbook 1985 EB 26291-56 (Appendices C, E, and G)
# OpenServer 5.0.6 screen(HW)
# X Consortium Compound Text Encoding Version 1.1
For whatever reason, they disliked the notion of referring directly to the documentation for Linux and xterm, but used secondary sources.
The title strings recognized by PuTTY begin with one of these choices:
- ANSI 7-bit OSC (escape]), or
- ANSI 8-bit OSC (octal
235
)
followed by 0, 1, 2, 21 (ASCII digits) or L,
a semicolon,
and the title text,
and end with one of these choices:
- ANSI 7-bit string terminator (escape\), or
- ANSI 8-bit string terminator (octal
234
), or
- ASCII BEL (7, used by xterm)
As an aside, it will stop processing the title escape if it sees an ASCII carriage return or line-feed.
While a "big" file might seem to be random enough, it's likely that your file contains some bias in the form of tables, etc. Otherwise it would not repeatedly update the title as described.
It might be interesting to construct a program which detected latent title-strings, so that you could find those without having to reset your terminal (or possibly stop it entirely).
Further reading:
cat
-ing the binary causes those bytes to be sent to the terminal, which then interprets and acts upon them.cat
-ing a binary to a terminal is generally not a good idea. usehd
(akahexdump
) orxxd
or similar if you want to see what's in a binary (in, e.g., a traditional hexdump format with hex byte offsets and bytes on the LHS and ASCII on the RHS) – cas Jul 15 '16 at 01:51