Vincent Untz wrote:
> 
> Sure, some (or most?) of this specific stuff could go in GTK+ or a GTK+
> module. But I'm not convinced we can come with a good cross-platform API
> for lockdown (since not all platforms will be able to lock the same
> things), or that the applet API should be in a separate library
> (especially if we're going with a new cool API that applications will
> want to use instead of adding icons in the notification area).
> 

There are obviously some _inherently_ GNOME specific APIs, mostly to do 
with writing extensions to desktop components (panel applets, nautilus 
extensions). It makes a heck of a lot of sense to me to ship each lib in 
a tarball with the thing it extends, but a single libgnomeextension is I 
guess plausible too - that's a bounded, understandable library 
definition - "APIs for extending GNOME desktop components"

If you look at for example the GdkSession sketch I posted though, people 
seem to feel that is GNOME specific for some reasons I don't understand 
at all; the functionality is completely implementable on Windows and KDE 
I know, and probably other platforms too.

Lockdown I don't know enough about what the API would be like to really 
have a perspective on, but I think most apps would prefer a lib that at 
least compiled and worked cross-platform (even if the implementation on 
some platforms was "nothing is ever locked down").

Anyway - the basic point I'm making in this whole thread is, have 
logical, defined module boundaries. If you can't pretty easily say what 
does and doesn't go in a library, that library is busted.

And secondarily, pick the logical, defined module boundaries that make 
sense, then talk people into them. There's no point assuming from the 
get-go that the right solution isn't possible.

Bryan mentioned some experiment with monkeys where they would spray all 
the monkeys with water whenever a monkey went up a ramp or something 
like that; so all the monkeys learned to turn on any monkey that went up 
there. Over time, they replaced all the monkeys one-by-one, so 
eventually no monkey in the cage had ever been sprayed or knew why it 
was bad to go up the ramp. But they still all turned on any monkey who 
tried to go up it.

The libgtk/libgnome split is kind of like this in my opinion; it's 
basically a historical legend that won't die. Nobody would design things 
this way from scratch, nor is there any major issue with fixing it 
today. In fact quite a few examples of how to fix it exist (file 
chooser, cairo, etc.).

Havoc

_______________________________________________
desktop-devel-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Reply via email to