I can actually see some logic in at least giving the user this option. Deleting to the Recycle Bin would fit with the whole Windows convention, after all. You could always make a "Skip Recycle Bin" preference enabled by default.
This requires that if the Empty Recycle Bin is checked it should be deleted before any other cleaning,
and the subsequent cleaning will then go into Recycle and remain there until the next time CCleaner runs.
There could be a status message advising the amount that has been deleted to Recycle, and that Free space will be increased by this amount when Recycle is emptied (either manually or the next time CCleaner runs).
I have to disagree with this part, though. If the user minds the new deletions mixing with previous ones, they can empty it manually just as they would do before some manual deletions. If they went out of their way to turn off the Recycle Bin skipping in the preferences, they should be able to figure out that they won't free the space until they empty it. Then again, I suppose you could give them a reminder message before exiting
(but only if it applied to them).
I use my recycler rarely (usually stuff gets a shift/del), but anything I send to the recycler I want to keep for a while. A few weeks, or even longer. This would wipe stuff I wanted to hold on to.
Kind of an odd place to put stuff you want to keep, no? ![;)]()
Something you might consider:
Save yourself the 'shift'-press by disabling the recycle bin altogether (how-to) and making yourself a 'pre-delete' folder instead. A fringe benefit of this is that, should you ever have to recover that file system, those files wouldn't be named, e.g., De09.txt. ![:)]()
There is a recycler size limit, 10% of disk size in XP. What happens to those who clean more than that limit?
I'm sure the Recycle Bin's capacity is in the registry.
If it runs out of space, the user could be shown the same prompt they'd get if they tried to delete something that was too big to fit... a message asking if they want to permanently delete or cancel.
Plus, if the user Analyzed first, CCleaner would know how much stuff it was going to delete, and could even prompt them about it as soon as they hit Run. Something like "This will exceed your Recycle Bin's capacity. Permanently delete instead?" They could click Continue, or Cancel, empty it, and try again.
If you run CC every day, as some do, then this option is just more work for no advantage, unless the deletions are cumulative!
They might just want to leave the 'Skip Recycle Bin option' enabled then! ![;)]()
How would you differentiate between stuff CC puts in the recycyler and other recycler stuff?
Same way you differentiate stuff from different manual deletion sprees: sort on the Date Deleted column.
I think things could get confusing quickly on a coding standpoint of making CCleaner work like that with the Recycle Bin and I think it would be ten times simpler for CCleaner just to backup files to a 'Backup' folder of its own. I.e.; 'Backup\Files', 'Backup\Registry', but this would probably detail having some built in restore functionality to do it properly and perhaps compression such as ZIP or 7z so the files sitting in the Backup folder don't consume so much space.
Really? Isn't there a Shell function you can pass the filename to? As a matter of fact, if you passed an array of all the filenames found in the Analysis, the Windows shell itself might take care of the potential insufficient space issue above, just as if the user had multi-selected those files in an Explorer window and press Delete. (I must say this Shell integration would be right in line with the oh-so-sexy real-time updating space usage quotes in Defraggler!
)
The Recycle Bin is perfect for this. If something breaks, you can just open it, sort by Date Deleted, select the big streak of deletions (or even just targeted ones if you know what was 'missed' by something), right-click and select Restore. Voila; everything goes back where it came from.
(If a new Chrome history file, for example, had been created since the deletion, Windows would ask if you wanted to overwrite it.) You could be indiscriminate in the restoration because you could just run CCleaner again (only more conservatively this time).
Once you start adding tweaks, tickboxes, options etc, it can become bloated.
I'm not a fan of bloat either, but the problem, in my opinion, is more often in the organization and presentation of the options than in the fact that they're offered.
At any rate, removal of cruft is CCleaner's game. This would be a single check box allowing the user to pick the sense of "removal" they wanted: the more absolute sense or the more Windowsy.
I myself would keep the default and skip the recycle bin (since I know the stuff CCleaner removes--log files, hotfix uninstallers, history, MRU, etc--would only be missed by a user), but I think it's a worthy idea for an option to help users with traumatic memories of overly ambitious system cleaners.