static void _panel_applets_managers_ensure_loaded (void) { GIOExtensionPoint *point; GList *extensions, *l; if (panel_applets_managers != NULL) return; panel_cleanup_register (PANEL_CLEAN_FUNC (_panel_applets_manager_cleanup), NULL); panel_modules_ensure_loaded (); point = g_io_extension_point_lookup (PANEL_APPLETS_MANAGER_EXTENSION_POINT_NAME); extensions = g_io_extension_point_get_extensions (point); if (extensions == NULL) g_error ("No PanelAppletsManager implementations exist."); for (l = extensions; l != NULL; l = l->next) { GIOExtension *extension; GType type; GObject *object; extension = l->data; type = g_io_extension_get_type (extension); object = g_object_new (type, NULL); panel_applets_managers = g_slist_prepend (panel_applets_managers, object); } panel_applets_managers = g_slist_reverse (panel_applets_managers); }
int main (int argc, char **argv) { GtkBuilder *builder; char *uifile; char *applets_dir; GError *error; bindtextdomain (GETTEXT_PACKAGE, MATELOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); error = NULL; if (!gtk_init_with_args (&argc, &argv, "", (GOptionEntry *) options, GETTEXT_PACKAGE, &error)) { if (error) { g_printerr ("%s\n", error->message); g_error_free (error); } else g_printerr ("Cannot initiliaze GTK+.\n"); return 1; } panel_modules_ensure_loaded (); if (g_file_test ("../libmate-panel-applet", G_FILE_TEST_IS_DIR)) { applets_dir = g_strdup_printf ("%s:../libmate-panel-applet", MATE_PANEL_APPLETS_DIR); g_setenv ("MATE_PANEL_APPLETS_DIR", applets_dir, FALSE); g_free (applets_dir); } if (cli_iid) { load_applet_from_command_line (); gtk_main (); panel_cleanup_do (); return 0; } builder = gtk_builder_new (); gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE); uifile = BUILDERDIR "/panel-test-applets.ui"; gtk_builder_add_from_file (builder, uifile, &error); if (error) { g_warning ("Error loading \"%s\": %s", uifile, error->message); g_error_free (error); panel_cleanup_do (); return 1; } gtk_builder_connect_signals (builder, NULL); win = GTK_WIDGET (gtk_builder_get_object (builder, "toplevel")); applet_combo = GTK_WIDGET (gtk_builder_get_object (builder, "applet-combo")); prefs_path_entry = GTK_WIDGET (gtk_builder_get_object (builder, "prefs-path-entry")); orient_combo = GTK_WIDGET (gtk_builder_get_object (builder, "orient-combo")); size_combo = GTK_WIDGET (gtk_builder_get_object (builder, "size-combo")); g_object_unref (builder); setup_options (); gtk_widget_show (win); gtk_main (); panel_cleanup_do (); return 0; }