Allow mutter to be used as a library

Move all of the mutter code into a new libmutter-wm.so, split its
main() method into meta_get_option_context(), meta_init() and
meta_run(), add methods for using in-process plugins, and add
libmutter-wm.pc pointing to the new library.

The mutter binary is now just a tiny program that links against
libmutter-wm. The --version and --mutter-plugins options are handled
at the mutter level, not in libmutter-wm, and a few strange unused
command-line options (--no-force-fullscreen and --no-tab-popup) have
been removed.

https://bugzilla.gnome.org/show_bug.cgi?id=643959
This commit is contained in:
Dan Winship
2011-03-05 16:16:26 -05:00
parent 28752718c5
commit bb50f65532
16 changed files with 314 additions and 268 deletions

View File

@ -58,7 +58,7 @@ struct _MetaUI
};
void
meta_ui_init (int *argc, char ***argv)
meta_ui_init (void)
{
/* As of 2.91.7, Gdk uses XI2 by default, which conflicts with the
* direct X calls we use - in particular, events caused by calls to
@ -70,7 +70,7 @@ meta_ui_init (int *argc, char ***argv)
gdk_disable_multidevice ();
#endif
if (!gtk_init_check (argc, argv))
if (!gtk_init_check (NULL, NULL))
meta_fatal ("Unable to open X display %s\n", XDisplayName (NULL));
meta_stock_icons_init ();