I read in some internet forum that copying any file to the top level of the drive (/) would make the available space figure refresh. So what I did was create an empty file in my Documents folder (touch space.txt in the Terminal), and then using crontab and a small script, copy this file every five minutes to /.
Here is the script, which I named freespace_updater.sh:
#!/bin/sh
rm /space.txt
cp /Users/martin/Documents/space.txt /
And the associated crontab entry:
martin$ crontab -l
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/freespace_updater.sh
I know this is very dirty, but at least it refreshes my free space info every five minutes.
[robg adds: I tested this, and was surprised to find that it's true -- if you have hard drives visible on the desktop, and use the Show Item Info option, the free space value never seems to update. But copying and deleting a file from the root level forced an instant update. I would switch the order of commands in the script (cp first, then rm), since that way, nothing is left at the top level, and it seemed to work just as well when I was testing it. What didn't work, somewhat oddly, was touching a file at the top level; it seems an actual copy operation is required to force the update.
If you have multiple volumes, you'd probably need the script to copy a dummy file to the top level of each of them.]

