diff --git a/examples/bp/Makefile.am b/examples/bp/Makefile.am
index 5e92490bff..827432d258 100644
--- a/examples/bp/Makefile.am
+++ b/examples/bp/Makefile.am
@@ -13,4 +13,17 @@ LDADD = \
noinst_PROGRAMS = bloatpad
+
+bloatpad_SOURCES = bloatpad.c
+nodist_bloatpad_SOURCES = bloatpad-gresources.c
+
+resource_files = \
+ bloatpad.gresources.xml \
+ menus.ui
+
+bloatpad-gresources.c: $(resource_files)
+ $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source $<
+
+CLEANFILES = bloatpad-gresources.c
+
-include $(top_srcdir)/git.mk
diff --git a/examples/bp/bloatpad.c b/examples/bp/bloatpad.c
index 1eae5b6fb2..c0e2d7d507 100644
--- a/examples/bp/bloatpad.c
+++ b/examples/bp/bloatpad.c
@@ -537,89 +537,7 @@ bloat_pad_startup (GApplication *application)
g_action_map_add_action_entries (G_ACTION_MAP (application), app_entries, G_N_ELEMENTS (app_entries), application);
- builder = gtk_builder_new ();
- gtk_builder_add_from_string (builder,
- ""
- " "
- " "
- "", -1, NULL);
+ builder = gtk_builder_new_from_resource ("/org/gtk/bloatpad/menus.ui");
gtk_application_set_app_menu (app, G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu")));
gtk_application_set_menubar (app, G_MENU_MODEL (gtk_builder_get_object (builder, "menubar")));
for (i = 0; i < G_N_ELEMENTS (accels); i++)
@@ -738,7 +656,7 @@ bloat_pad_new (void)
g_set_application_name ("Bloatpad");
bloat_pad = g_object_new (bloat_pad_get_type (),
- "application-id", "org.gtk.Test.bloatpad",
+ "application-id", "org.gtk.bloatpad",
"flags", G_APPLICATION_HANDLES_OPEN,
"inactivity-timeout", 30000,
"register-session", TRUE,
diff --git a/examples/bp/bloatpad.gresources.xml b/examples/bp/bloatpad.gresources.xml
new file mode 100644
index 0000000000..beee6b27e0
--- /dev/null
+++ b/examples/bp/bloatpad.gresources.xml
@@ -0,0 +1,7 @@
+
+
+
+
+ menus.ui
+
+
diff --git a/examples/bp/menus.ui b/examples/bp/menus.ui
new file mode 100644
index 0000000000..a05986fdb5
--- /dev/null
+++ b/examples/bp/menus.ui
@@ -0,0 +1,83 @@
+
+
+
+
+
+