[clug] Terminal Control Sequences
Kevin Pulo
kev at pulo.com.au
Mon Jul 5 00:06:01 MDT 2010
On Mon, Jul 05, 2010 at 03:21:54PM +1000, Owen wrote:
> > Sadly I haven't had the time/motivation to make the same thing work
> > for Bash or other shells.
>
> From the Great God Google try this for bash
>
> function settitle
> {
> PS1="\e]2;penguin\a\u@\h:\$ "
> echo "Done."
> }
>
> and restart your console and type settitle
If the non-printing stuff isn't surrounded by \[\], then on long lines
readline will get confused and mess up.
I use an old utility called xtermset which nicely abstracts away the
details of the control characters. For $TERM == xterm || screen I
have:
PS1="\[$(xtermset title "\u@\h:\w")\]\u@\h:\w\$ "
I prefer this to using PROMPT_COMMAND, since the xtermset program is
only run once at the start, not at every prompt (which is unnecessary
for a simple stuff like this).
For the function above, you'd want
function settitle {
PS1="\[\e]2;penguin\a\]\u@\h:\$ "
echo "Done."
}
Though why it warrants a function and shouldn't just be entered
directly is beyond me.
Kev.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/linux/attachments/20100705/e953b176/attachment.pgp>
More information about the linux
mailing list