This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: setting cygwin terminal (mintty) title from a very remote system


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]