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