Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Xterm title changing prompt problem: HELP!
- X-seq: zsh-users 2021
- From: Andrew Gallagher <andrew.gallagher@xxxxxxxxxxxxx>
- To: zsh-users@xxxxxxxxxxxxxxx
- Subject: Re: Xterm title changing prompt problem: HELP!
- Date: Fri, 15 Jan 1999 11:48:04 +0000
- Organization: QUB
- References: <Pine.GHP.4.05.9901141611470.26309-100000@xxxxxxxxxxxxxxxxxxx> <slrn79sv71.83r.mason@xxxxxxxxxxxxxxxxxxxxx>
- Sender: andrewg@xxxxxxxxxxxxxxxxxxx
Geoff Wing wrote:
> Shawn Leas <sleas@xxxxxxxxxxxxxxxxxxx> typed:
> :This new thing I found is too kewl, but I need a little help.
> :However, my right prompt is shifted to the left. I suspect
> :This is due to zsh keeping track of the length of the left
> :part of the prompt, then adjusting where to put the right one.
> :Should I just not have a right prompt? Or is there a way around
> :this?
> :PROMPT='];[%l] %n@%m %1v (%h) %t[%l] %n@%m %1v (%h) %t '
> ^ insert ``%{'' ^ insert ``%}''
> thus
> PROMPT='%{^[];[%l] %n@%m %1v (%h) %t^G%}[%l] %n@%m %1v (%h) %t '
>
> >From the manual (section PROMPT EXPANSION):
> %{...%}
> Include a string as a literal escape sequence. The
> string within the braces should not change the cur-
> sor position. Brace pairs can nest.
>
Or alternatively, take the escape sequence out of PROMPT and "echo -n" it
from inside the precmd() function ... here is my version:
PROMPT='%? //%n@%B%m%b%//
%l%1v%!> '
RPROMPT='(%T, %w)'
function precmd {
echo -n "^[]0;//$USER@$HOSTNAME$PWD/ ($UNAME)^G"
}
The advantage of this is that it doesn't mess up non-xterm terminals so
much (where the escape sequence will not be recognised and thus _will_
shift the cursor). PROMPT will overwrite the "echo -n"ed line whether it
is printed or not (so long as it is less than 80 chars).
--
Andrew Gallagher
http://members.tripod.com/~AndrewGallagher/id.html
Messages sorted by:
Reverse Date,
Date,
Thread,
Author