Re: LibUnique as blessed dependency
- From: Havoc Pennington <hp redhat com>
- To: Alex Jones <alex weej com>
- Cc: GNOME Desktop Devel <desktop-devel-list gnome org>
- Subject: Re: LibUnique as blessed dependency
- Date: Thu, 12 Jul 2007 15:08:34 -0400
Hi,
Alex Jones wrote:
http://live.gnome.org/DesktopAppsAsDBusServices
Due to lack of interest, it's been on a backburner. Some people
mentioned that it sounded like it was turning into Bonobo Activation,
and that "we've been down that path before", which was quite
demotivating to hear.
The problem with bonobo-activation was not the high-level concept of
having an activatable service, but that it got some details wrong. For
example, it was all messed up if you logged in twice. Neither X
selections nor dbus bus names have that issue. bonobo-activation also
got tangled up with some higher-level component system type of features
like monikers iirc, while dbus and X do not define that layer of
functionality.
Wherever this stuff lives or however it works on the backend, to me the
ideal API would be something like:
static void
open_document_callback(GdkScreen *screen, const char *uri, const char
**other_prop_keys, const char **other_prop_values)
{
GtkWindow *window = document_window_get_for_uri(screen, uri); /* may
return an existing window if (screen,uri) tuple already has a window */
gtk_window_setup_from_launch_props(window, other_prop_keys,
other_prop_values);
gtk_window_present(window);
}
int
main(int argc, char **argv)
{
/* argc, argv are properly ignored, because it should be impossible to
do something from the command line
that can't be done using the dbus OpenDocument() method. A separate
binary exists that parses --display etc.
and calls OpenDocument() accordingly; this separate binary can be
shared among all apps in the desktop.
Note that gdk_display_open() happens only when we get an
OpenDocument(), and then the resulting
screen is passed to the callback.
*/
setup_open_document_callback_and_run_main_loop(open_document_callback);
return 0;
}
I'm no doubt missing some details that are important.
Havoc
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]