Monday, August 27, 2007

Tip for the day: PROGRESS STATUS IN XTERM TITLEBAR

Sometimes it is handy to be able to show some information in the xterms title bar, for example if you download a set of large files (thereby producing lots of meaningless information on the terminal) and you want to know which file is actually beeing downloaded.

For this purpose, I hacked a few lines of shell code that would put any information into the xterms title bar. I called the script ttshow.

#!/bin/sh
if [ -z $DISPLAY ]; then
echo "ESC]0; $* ^G"
fi

In this little script, the string ESC has to be replaced by one real escape character (ascii 0x1b), the string "^G" has to be replaced by a bel character (ascii 0x07).

Now I can make my scripts like
this:

for file in in `cat filenames`; do
ttshow "downloading $file"
wget $file
done

..and it will tell me on the
first glance what it's doing.

For more information about this, unpack the X distribution and search for the file
ctlseqs.ms - this file belongs to the xterm distribution and contains all the escape sequences xterm knows about.

No comments: