Don't include gtk.h, instead include individual headers. And include config.h and gi18n-lib.h everywhere.
Use a popup, like we do for properties. For now, it allows activating the action (with parameter, if necessary) and setting the state.