My previous post illustrating a technique for restoring the current working directory in Apple’s Terminal for tcsh users was discovered by Khoo Yit Phang, who suggested an improved version down in the comments. I’m reproducing it here for greater visibility:
if ("$?TERM_PROGRAM") then if ("$TERM_PROGRAM" == "Apple_Terminal") then alias cwdcmd '( set echo_style = both; echo -n " 33]7;file://${host}${cwd:ags/ /%20/}a" )' cwdcmd endif endif
Compared to my approach, it has two improvements: (1) by using cwdcmd
(of which I was previously unaware) rather than precmd
, it only runs when you actually change directories; and (2) by using a suitably configured echo
, it avoids running an external command (printf
is not built into tcsh
, but is present in /usr/bin
).
Thanks, Yit.
Update: Of course, with this technique you have to explicitly run the command once, to restore the working directory to the title bar for the first time when you start up. Fixed above.