void meta_plugin_manager_initialize (MetaPluginManager *plugin_mgr) { GList *iter; if (!plugin_mgr->plugins) { /* * If no plugins are specified, load the default plugin. */ meta_plugin_manager_load (plugin_mgr, "default"); } for (iter = plugin_mgr->plugins; iter; iter = iter->next) { MetaPlugin *plugin = (MetaPlugin*) iter->data; MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); g_object_set (plugin, "screen", plugin_mgr->screen, NULL); if (klass->start) klass->start (plugin); } }
int main (int argc, char **argv) { GOptionContext *ctx; GError *error = NULL; ctx = meta_get_option_context (); g_option_context_add_main_entries (ctx, mutter_options, GETTEXT_PACKAGE); if (!g_option_context_parse (ctx, &argc, &argv, &error)) { g_printerr ("mutter: %s\n", error->message); exit (1); } if (mutter_plugins) { MetaPluginManager *mgr; char **plugins = g_strsplit (mutter_plugins, ",", -1); char **plugin; mgr = meta_plugin_manager_get_default (); for (plugin = plugins; *plugin; plugin++) { g_strstrip (*plugin); meta_plugin_manager_load (mgr, *plugin); } g_strfreev (plugins); } meta_init (); return meta_run (); }
int main (int argc, char **argv) { GOptionContext *ctx; GError *error = NULL; ctx = meta_get_option_context (); g_option_context_add_main_entries (ctx, mutter_options, GETTEXT_PACKAGE); if (!g_option_context_parse (ctx, &argc, &argv, &error)) { g_printerr ("mutter: %s\n", error->message); exit (1); } g_option_context_free (ctx); if (plugin) meta_plugin_manager_load (plugin); meta_init (); meta_register_with_session (); return meta_run (); }
int main (int argc, char **argv) { GOptionContext *ctx; GError *error = NULL; /* First parse the arguments that are passed to us */ ctx = g_option_context_new (NULL); g_option_context_add_main_entries (ctx, options, NULL); if (!g_option_context_parse (ctx, &argc, &argv, &error)) { g_printerr ("%s", error->message); return 1; } g_option_context_free (ctx); GPtrArray *tests = g_ptr_array_new (); if (all_tests) { GFile *test_dir = g_file_new_for_path (MUTTER_PKGDATADIR "/tests"); if (!find_metatests_in_directory (test_dir, tests, &error)) { g_printerr ("Error enumerating tests: %s\n", error->message); return 1; } } else { int i; char *curdir = g_get_current_dir (); for (i = 1; i < argc; i++) { if (g_path_is_absolute (argv[i])) g_ptr_array_add (tests, g_strdup (argv[i])); else g_ptr_array_add (tests, g_build_filename (curdir, argv[i], NULL)); } g_free (curdir); } /* Then initalize mutter with a different set of arguments */ char *fake_args[] = { NULL, (char *)"--wayland", (char *)"--nested" }; fake_args[0] = argv[0]; char **fake_argv = fake_args; int fake_argc = G_N_ELEMENTS (fake_args); char *basename = g_path_get_basename (argv[0]); char *dirname = g_path_get_dirname (argv[0]); if (g_str_has_prefix (basename, "lt-")) test_client_path = g_build_filename (dirname, "../mutter-test-client", NULL); else test_client_path = g_build_filename (dirname, "mutter-test-client", NULL); g_free (basename); g_free (dirname); ctx = meta_get_option_context (); if (!g_option_context_parse (ctx, &fake_argc, &fake_argv, &error)) { g_printerr ("mutter: %s\n", error->message); exit (1); } g_option_context_free (ctx); meta_plugin_manager_load ("default"); meta_init (); meta_register_with_session (); RunTestsInfo info; info.tests = (char **)tests->pdata; info.n_tests = tests->len; g_idle_add (run_tests, &info); return meta_run (); }