Argh! (was: Re: Getting rid of libbonoboui, action plan)



On So, 2005-11-13 at 12:06 +0100, Christian Neumair wrote:
> I'd like to propose a plan of getting rid of libbonoboui, by not forcing
> applications that depend on libgnomeui to depend on libgnomeui.
> libbonobui depends on libbonobo and therefore on CORBA, which is no good
> if you just want a GnomeApp. This should significantly reduce startup
> time. In future, many applications will probably use dbus for their
> shell instead of our ORB and its OAF infrastructure, so it's plain
> stupid to depend on it.
> 
> Plan of action
> ==============
> 
> 1. Analyze in what way libbonoboui and libgnomeui are interveawed (DONE)
> 
> GnomeApp from libgnomeui uses libbonoboui's dock container and its dock
> items, for managing its menu, its statusbar and its toolbar.
> 
> Also, gnome_gtk_module_info_get calls bonobo_ui_gtk_module_info_get.
> 
> 2. Chop libbonoboui deps from libgnomeui (TODO)
> 
> From taking a quick peek at the code, it looks like all of its
> functionality could be replicated with the GtkUIManager. We also have to
> decide on whether we want a global
> "/desktop/gnome/interface/toolbar_detachable", and
> "/desktop/gnome/interface/menubar_detachable" setting. If so, we
> probably want a GtkSetting, and add separator menu items, and add new
> API to GtkToolbar and GtkMenu/GtkMenuBar. I think this is not very
> important, though, although it slightly changes the UI of the
> applications.
> 
> The restore_window code from gnome-mdi-session.c is currently commented
> out, so it won't be any regression to not reload the UI correctly.
> 
> Sidenote: I wonder whether we need a new session management framework
> which more suitable for saving/reloading UI state. Epiphany for instance
> uses its own format (~/.gnome2/epiphany/states.xml). I think the GTK+
> plans [1] used to contain some session management stuff, not sure where
> it has gone.
> 
> The gnome_gtk_module_info_get call is a bit tricky. I think we can copy
> the libgnome deps from libbonobo_ui_module_info_get to libgnomeui,
> removing any libbonoboui/libgnomeui dependancy, and making libgnomeui
> depend on the LIBGNOME_MODULE, and making LIBBONOBOUI depend on
> LIBBONOBO_MODULE and LIBGNOME_MODULE. The i18n stuff from
> do_low_level_init can also be moved (copied?) to libgnomeui. Calling
> both in sequence shouldn't do any harm, and some apps IMHO still rely on
> bonobo-i18n.
> 
> 3. (Topaz)
> 
> Remove libbonobo and libbonoboui.
> 
> Comments, opinions?
> 
> [1] http://www.gtk.org/plan/2.10/

GnomeApp also seems to have a hard dependancy on BonoboDockLayout.

-- 
Christian Neumair <chris gnome-de org>

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]