Bundles, a draft specification

Mildred ml.mildred593 at online.fr
Mon Sep 3 03:51:42 PDT 2007


Le Mon 03/09/2007 à 10:23 Alexander Larsson à écrit:
> On Sun, 2007-09-02 at 12:20 +0200, Mildred wrote:
> > Bundles are directories that contains others files. And these
> > directories (called bundles) are to be handled differently by files
> > managers than usual directories, more like files.
> This is a bad idea due to the following:
>         A bundle can be detected by the presence of the file named
>         types.bundle in a directory. The file being a text-file (lines
>         being separated by ASCII character 10, LF) whose first lines
>         begins with the ASCII character 1 and whose second line begins
>         by BT, followed by a tabulator, by the string inode/bundle and
>         the line feed.
> This means that to detect the type of a directory one must do a stat
> inside it, which can be very costly when there are many directories.
> For instance, gnome has disabled cheching for ".directory" desktop
> files in directories for this reasons (except in a few specific
> locations).
> (Also, something like glick is more likely to work everywhere since it
> requires no special handling in the file-manager.)

I don't think it is a bad idea just because of that. Mac OS X has it and
I think it is a great idea because files are still accessible and there
is no overhead for unpacking files. And if we want to change a file in
the bundle, it is easier.

For example Mac OS X use it for applications, RTF documents, partial
downloads, screensavers ...

It's not I want to copy Mac OS X, but I feel they have something good
here we don't have (except in GNUstep).

We could easily use extended attributes to cache the informations.
Or in order to prevent the cache being out of date, we could impose to
write extended attributes on bundles.

of course an appropriate library must be written for that.

Mildred Ki'lya
Site:	<http://mildred632.free.fr/>
XMPP:	<mildred at jabber.fr> (GoogleTalk, Jabber)

GPG:	197C A7E6 645B 4299 6D37 684B 6F9D A8D6 [9A7D 2E2B]

More information about the xdg mailing list