unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Angelo Graziosi <angelo.graziosi@alice.it>
Cc: emacs-devel@gnu.org
Subject: Re: On prompt in shell mode
Date: Wed, 13 Aug 2008 19:55:20 -0400	[thread overview]
Message-ID: <jwvbpzw79wn.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <48A36803.6020908@alice.it> (Angelo Graziosi's message of "Thu, 14 Aug 2008 01:02:27 +0200")

>> I'm not sure we talk about the same thing.  I'm talking about running
>> your shell in a Linux console, or within `screen', or inside a Wyse
>> terminal (if you can find one these days).  I.e. without involving
>> Emacs at all.

> As I have written [1], defining

>    PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '

> in /etc/profile or .bashrc works fine in RXVT, MRXVT, URXVT, XTERM,
> (KDE)Konsole WITHOUT Emacs.

Indeed, since all those terminal emulators basically emulate each-other
(or even share the underlying code).

> i.e. the code '\[\e]0;\w\a\]' prints the working directory as title of
> RXVT, MRXVT... window; the remains gives the terminal prompt in the form

I know (I use it in my own PS1 setting as well).

> In any case, have you some comment on how to solve the other question I
> pointed out in [2], i.e. setting in .emacs

>    (setenv "PS1" "prompt>")

> works, but

>    (setenv "PS1" "address@hidden \w\n$ ")

You need to escape the backslashes since they're otherwise interpreted
as escape sequences for Emacs's string literals (and there's no such
thing as a \w escape sequence for Emacs string literals).

In any case a better solution is to change your .bashrc (or wherever
you set your PS1 prompt) so as to check the value of $TERM and use
different settings depending on the features suppported by the
corresponding terminal.

I personally only use `xterm', so I use code like:

   if [[ $TERM == xterm* ]]; then
       PROMPT=$(print -n "%{\033]0;%m%${my_uid}(#..-%n)\007%}%B%2c-%?%#%b ")
   else
       PS1="%B%${my_uid}(#..%n@)%m-%2c-%?%#%b "
   fi

in my .zshrc, tho this is for Zsh so it won't work as is for you.



        Stefan




  parent reply	other threads:[~2008-08-13 23:55 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-12 14:05 On prompt in shell mode Angelo Graziosi
2008-08-12 14:10 ` adg
2008-08-12 14:17   ` Angelo Graziosi
2008-08-12 18:19 ` Chong Yidong
2008-08-13 10:03   ` Angelo Graziosi
2008-08-12 19:46 ` Stefan Monnier
2008-08-12 20:49   ` Angelo Graziosi
2008-08-13 20:42     ` Stefan Monnier
2008-08-13 21:55       ` Angelo Graziosi
2008-08-13 22:37         ` Stefan Monnier
2008-08-13 23:02           ` Angelo Graziosi
2008-08-13 23:17             ` David Hansen
2008-08-13 23:55             ` Stefan Monnier [this message]
2008-08-14  1:24               ` Angelo Graziosi
2008-08-14  8:50                 ` Angelo Graziosi
2008-08-14 10:22                   ` David Hansen
2008-08-14 13:21                   ` Angelo Graziosi
2008-08-13  6:26 ` Richard M. Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvbpzw79wn.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=angelo.graziosi@alice.it \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).