Update:I have discovered the escape sequence ^[[21t; outputs the title but it doesn't go to either STDOUT or STDERR! How can I capture it then?

Think a second about how your program talks to the terminal (emulator) and the user behind it. (Think about a three-wire RS232 connection -- TxD, RxD, GND -- to an old VT100 terminal, if that helps you.) STDOUT and STDERR go into the terminal (TxD wire on the computer), where the text written is postprocessed and usually displayed on screen. STDIN comes from the terminal (RxD wire), usually only when the user starts hacking on the keyboard.

All terminal emulators behave the same, in this respect: There is one (virtual) wire into the terminal, and another (virtual) wire back to the computer. The Linux virtual consoles (also known as text mode) behave like pimped VT100s, and so do all other virtual consoles. xterm and its clones do the same, but instead of writing characters into the text mode graphics card, they ask the X server to draw some pixels into the frame buffer. PuTTY does the same for Windows.

The big difference between xterm and a classic VT100 is that the xterm terminal emulator knows some new tricks that involve the mouse, so you can use the mouse in joe and mc, for example. PuTTY pretends to be an xterm clone because, well, it is an xterm clone. It is a terminal emulator with mouse functions running in graphics mode, no matter how you communicate with the server (telnet, ssh, rlogin, serial port).

Now, what is the only way for a terminal to send information back to the computer? STDIN, of course! You write a special escape sequence to STDOUT and the terminal will answer via STDIN, just in between the data entered by the user. The terminal software usually takes care that its own answer is send in one piece, uninterrupted by keyboard data.

Now, why do you see the terminal's answer on the terminal screen? Because usually, the operating system echos all terminal input back to the terminal output.

See also the PuTTY FAQ A.7.12

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

In reply to Re: How to Get XTerm Title by afoken
in thread How to Get XTerm Title by NateTut

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.