G_DECLARE_FINAL_TYPE was introduced in glib 2.44. We shall use that now so that lots of boilerplate code can be reduced. https://bugzilla.gnome.org/show_bug.cgi?id=770278
To make gnome-shell use the desktop file and icon for this example while running it uninstalled, do the following: mkdir -p ~/.local/share/applications sed -e "s#@bindir@#$PWD#" exampleapp.desktop \ > ~/.local/share/applications/lt-exampleapp.desktop mkdir -p ~/.local/share/icons/hicolor/48x48/apps cp exampleapp.png ~/.local/share/icons/hicolor/48x48/apps