Putting It All Together
The following is a complete example for ˜/.cshrc that puts location information in your window titlebar when you run xterm or hpterm, and in your prompt otherwise:
if ($?prompt) then # verify that shell is interactive
if (xterm =~ $TERM) then # xterm is running
source ~/.settitle
else if (hpterm =~ $TERM) then # hpterm is running
source ~/.settitle-hp
else # xterm/hpterm are not running
if ($?tcsh) then # shell is tcsh
set prompt = "%~% "
else # shell is csh
alias setprompt 'set prompt = "$cwd:t% "'
setprompt
alias cd 'cd \!*;setprompt'
alias pushd 'pushd \!*;setprompt'
alias popd 'popd \!*;setprompt'
endif
alias ncsa source ~/.settitle
endif
endifThe outermost if-test ensures that only interactive shells process the inner commands. Those inner commands determine whether or not xterm or hpterm are running, and take action accordingly:
If xterm or hpterm are running, .settitle or .settitle-hp are executed to set up location display in the window title.
If neither xterm nor hpterm are running, location information is displayed in the prompt. This is done using tcsh's prompt formatting sequences if the shell is tcsh, and with the prompt setting aliases otherwise. Also, the ncsa alias is defined in case you are connecting with NCSA Telnet, so that you can display location information in the window title by typing ncsa after logging in.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access