Trash mechanism
Mike Hearn
m.hearn at signal.QinetiQ.com
Wed Aug 25 17:13:01 EEST 2004
> 1) Garbage collectable somehow.
> - IIRC, Windows does this.
It pops up a modeless dialog asking you if you want to empty the trash
can in low disk space conditions.
> 2) Take up minimal space when it's used. (Like, say, by compressing the
> files.)
> - IIRC, Windows does this.
No clue ....
> Oddly, I think Windows does this largely right - it even indicates quite
> clearly to the user whether they're deleting the file or not. (It takes
> up 99% of the CPU by doing so with an animation, but hey.)
Well, a basic trash concept isn't especially complicated. In an era of
such huge disks it seems silly to actually delete files when there's
plenty of disk space left to use up but at the same time bolting a
transparent trashcan onto pre-existing software is really difficult.
This is especially true as mostly you only delete files from the file
manager. We can always use libtrash as a personal thing if we want rm to
do the same. David and Alexander are right, it's a matter of agreeing on
the contents and locations of the trash folders. Anything fancier than
file manager integration can come later.
> I think we can do better, mind:
>
> a) We can use preloads to handle write() returning ENOSPC in order to
> recover diskspace and repeat the write(), potentially.
Any widespread use of preloads to achieve desktop functionality is
embarassing as it basically means we are overriding the glibc team,
which makes it look like we can't keep our house in order. Due to the
nature of ELF fixup it's also a bit dangerous, you can easily override
things you didn't mean to.
> [*] - A British term meaning "whoops"
I'm a brit too, mind ;)
More information about the xdg
mailing list