Automate Trash Emptying

Recently I came across a couple of scripts on Mac OS X Hints that automate emptying the Trash so you don't have to remember to do it regularly. One of them deletes items that were trashed over seven days ago and the other empties the oldest items once the trash reaches a certain size.

The one that empties items that have been in the trash for too long is a bit complicated and involves using the Terminal. The second one, however, is fairly simple and accessible to anyone who wants their trash to empty automatically.

It involves an AppleScript that you attach to the trash as a Folder Action. This script checks the size of the trash every time you add a file to it. If the size goes over a limit, it will deleted the item that has been in the trash the longest.

There are various versions of the script on the Mac OS X Hints page as many users added suggestions in the comments. If you are interested, take some time to read through the page to see how the script works. Adding all the suggestions and improvements, I made a copy of the script you can copy and paste from here.
Script Editor

Select all the text and paste it into Script Editor (in Applications/AppleScript). Now you need to decide what size limit your trash will have. This is specified in megabytes on the 4th line of the script. It is currently set to 2048 (2GB). If you would like a different size, change this number. 512 for example, would mean that older items would be deleted to keep the total size under 512 MB.

Trash Limit

Once you are done choose Save As from the File menu and go to the Library in your User folder. In here go to Scripts, then Folder Action Scripts. You will probably have to create these folders unless you have added folder actions in the past. Save the script here.

Now open up Folder Actions Setup (in Applications/AppleScript). If you click the plus button, you will be presented with a normal "Open" dialog. However there is the problem that the Trash is a hidden folder. It's actually located in your user folder with Documents, Music, Movies etc. To get to it, press Command-Shift-G. In the box that appears, type "~/.Trash" (without the quotes) and click Go then Open.

Go To Folder

In the list that appears, choose the script that you just saved. Now you can start trashing things without ever having to worry about emptying the Trash again!

Be warned that this script permanently deletes files from your computer, without you specifically telling it to do so. If you change your mind and want to retrieve a file you put in the trash, you may find that it is already gone.

For an easier alternative, you can download Compost, an application for automatic trash management. You can download it for free to try out (limited to 15 files), and it only costs $12.50 to use fully.