The places sidebar emits this signal when the user invokes a contextual popup on one of its items. In the signal handler, the application may add extra items to the menu as appropriate. For example, a file manager may want to add a "Properties" command to the menu.
It is not necessary to store the selected_item for each menu item; during their callbacks, the application can use PlacesSidebar.getLocation to get the file to which the item refers.
The selected_item argument may be NULL in case the selection refers to a volume. In this case, selected_volume will be non-NULL. In this case, the calling application will have to g_object_ref() the selected_volume and keep it around to use it in the callback.
The container and all its contents are destroyed after the user dismisses the popup. The popup is re-created (and thus, this signal is emitted) every time the user activates the contextual menu.
Before 3.18, the container always was a gtk.Menu, and you were expected to add your items as gtk.MenuItems Since 3.18, the popup may be implemented as a gtk.Popover, in which case container will be something else, e.g. a gtk.Box, to which you may add gtk.ModelButtons or other widgets, such as GtkEntries, gtk.SpinButtons, etc. If your application can deal with this situation, you can set populate-all to TRUE to request that this signal is emitted for populating popovers as well.