[openbeos] Re: glasselevator-talk@bug-br.org.br
- From: "Jonas Sundström" <jonas@xxxxxxxxxxx>
- To: openbeos@xxxxxxxxxxxxx
- Date: Wed, 22 Sep 2004 23:04:07 +0200 CEST
"Mikael Jansson" <tic_khr@xxxxxxxx> wrote:
> (Moving over the thread to GE-talk now, I think it's where it
> belongs.)
I'm not on GE-talk. Apologies for the reply here. :P
...
> On that note, should we somehow lock the
> settings from apps by adding a BApplication
> member function to get the location of the settings
> folder? For example, ~/config/settings/
> tic_software/ticWorkspaceGadget,
> and then whatever settings file within that folder.
I wouldn't mind a BSettings class, or something provided by
BApplication. I've been in favor of a BFolder previously, (leaving it
up to the app to store one unified settings file, or splitting settings
across multiple files), but if ~/config/settings is indeed to be
limited to settings only, it might be better to provide a single file
interface. (BFile, BPositionIO, or something C-ish?)
...
> The problem is where to break up the settings/data:
> One scheme would be to place the app's skins in
> ~/config/data/{app},
> and the settings (i.e., what skin to use) in
> ~/config/settings/{app}.
I'd like that.
> Plugins (or, add-ons as we say in Beish), goes in ~/config/add-ons.
> But you knew that, right? ;)
I'd prefer if ~/config/add-ons was for Haiku add-ons only.
(Translators, Tracker add-ons, input_server add-ons, device drivers,
...)
If we would want to create an uninstaller, based on, say, application
signature, it would be easier to [offer the choice to] remove these:
wherever/ {app folder}
~/config/settings/ {app-sig}
~/config/data/ {app-sig}
Pretty straight forward. If apps [are made to] follow this standard
there is no need for a more elaborate installer.
Knowing which app created a certain subfolder within
~/config/add-ons is definitely possible using attributes
and/or a better installer (to would keep track of stuff),
but IMO it's much simpler to rely on the app-signature.
Creating the uninstaller would be dead easy.
...
> we still need to deal with the icky UN*X ports
> spreading their directories and files all over the place.
I'd prefer some kind of onioning filesystem that would let you overlay,
for example, all Perl files, on a "standard" Unix-like filesystem
hierarchy, being able to switch the Perl "package" on and off on the
fly. (virtual, as opposed to links or files being copied into place on
some existing filesystem.) Loose files should still be allowed to be
spread across this semi-virtual filesystem (for example by some manual
untar/configure/make activity), but, you should be able to "corrall"
such a set of individual files spread across multiple folders into one
package. On the fly.
The back-end stored packages would be zipfiles or some other attribute-
preserving format. Preferrably one that allows for non-compressed
archives, so we spend as little time as possible uncompressing. (or
(re)compressing)
There's a whole lot of implementation detail missing in this vision,
(writing to files owned by a package, if there's a good way to support
config files, if one should allow virtual sets of files that are not
backed by a package but by something else, (network stored settings?)),
but that's the general idea: Packages, and the easy creation of new
packages by corralling loose files.
Essentially a sandbox (you said it! :) except somewhat more complex
than mere symlinks from /foo -> /boot/beos/foo
It would have to be implemented as a filesystem addon.
I'm sure Be would have labeled this a "3'rd party opportunity",
(essentially something they found interesting but did not want to
implement themselves), and I fear the Haiku heavy-weights will follow
this tradition. :}
/Jonas Sundström. www.kirilla.com
- References:
- [openbeos] glasselevator-talk@bug-br.org.br
- From: Mikael Jansson
Other related posts:
- » [openbeos] glasselevator-talk@bug-br.org.br
- » [openbeos] Re: glasselevator-talk@bug-br.org.br
- [openbeos] glasselevator-talk@bug-br.org.br
- From: Mikael Jansson