summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/output.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/pym/output.py b/pym/output.py
index ac57fe366..e361e063d 100644
--- a/pym/output.py
+++ b/pym/output.py
@@ -102,11 +102,21 @@ def xtermTitle(mystr):
sys.stderr.flush()
break
-prompt_command = os.getenv("PROMPT_COMMAND", 'echo -ne "${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}"')
-default_xterm_title = commands.getoutput(prompt_command)
-del prompt_command
+default_xterm_title = None
def xtermTitleReset():
+ global default_xterm_title
+ if default_xterm_title is None:
+ prompt_command = os.getenv('PROMPT_COMMAND')
+ if prompt_command is not None:
+ default_xterm_title = commands.getoutput(prompt_command)
+ else:
+ pwd = os.getenv('PWD','')
+ home = os.getenv('HOME', '')
+ if home != '' and pwd.startswith(home):
+ pwd = '~' + pwd[len(home):]
+ default_xterm_title = '%s@%s:%s' % (
+ os.getenv('LOGNAME', ''), os.getenv('HOSTNAME', '').split('.', 1)[0], pwd)
xtermTitle(default_xterm_title)
def notitles():