On Fri, Apr 11, 2014 at 12:13:07PM -0700, Ross Boylan wrote: > I typically connect to systems through several hops; this note is about how > I managed to set the title of the cygwin terminal to match the remote > system. Usually it just shows the name on the first hop only. I would > love to learn there is a better way to get the same results. > > Various internet sources advise things like > > echo -ne '\e]0;Title\a' > > to set the window title while noting that the default cygwin prompt sets > this automatically. This did not work for me initially, but I found a way > to get it to work. > > On the remote system the prompt does not contain any window titling > commands. > > Concretely, my connection sequence looks like this. > > From System A, running Windows 7, launch a cygwin bash shell. > In that shell, ssh to system B. B's name will appear in the title bar. > From B ssh to C. Neither this nor later operations change the title bar. > From C ssh to D. > On D, run screen. > In screen, run emacs. > In emacs start a (bash) shell. > > I want the name of system D to appear in my title bar. > Systems B-D are running various versions of Debian GNU/Linux. > The echo command from within the bash prompt is ineffective. > > If I start a new shell from within screen (Ctl-a c), the echo command works > from there. > > I suppose if I built the window setting command into the remote prompt > things would just work, since I launch emacs from such a prompt. But I'm > not sure what that would do if I were not connecting via cygwin. > > Ross Boylan > > Someone put in a request for a feature to support manually setting the > title; this was rejected on the grounds that echoing an appropriate sequence > would do the same thing > (http://code.google.com/p/mintty/issues/detail?id=241). Unfortunately, that > does not seem to be true after connecting to a remote system, or at least it > is not true after the sequence of steps described above. > http://superuser.com/questions/362227/how-to-change-the-title-of-the-mintty-window > has a comment that the echo has no effect when issued from within screen. > It is simply inappropriate to try to set the window title from the bash prompt. Remove any and all attempts to do that from PS1 and instead put them in PROMPT_COMMAND which bash will obey at every prompt. This may look like overkill, but will reset the window name should any command you run have changed it. E.g. I have
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD/#$HOME/~}\007"' Try it, Cheers ... Duncan. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple