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 endif
The 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.
Get Using csh & tcsh now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.