From: Zac Medico Date: Tue, 21 Feb 2006 01:16:56 +0000 (-0000) Subject: Patch by marienz to generate default_xterm_title just in time with python instead... X-Git-Tag: v2.1_pre5_2760~4 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=167b019857ae385ae1e2a366b15ed49f84b0a3c6;p=portage.git Patch by marienz to generate default_xterm_title just in time with python instead of the shell. Fixes "Bad substitution" shell messages reported by flameeyes. svn path=/main/trunk/; revision=2755 --- 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():