This signal is emitted when the user right-clicked the toolbar or used the key bound to display the popup menu.

You should use this if you want to display a popup menu for the toolbar. If the signal was triggered by the keyboard, button is -1.

The signal is emitted only if the right-click happens on the toolbar, not on a tool item.

Example 125. Adding a popup menu to the toolbar

//Popup menu for the toolbar
//You need to make the window wider to get the context menu
//The context menu is not shown when right-clicking on the items

//Create a new toolbar widget
$tb = new GtkToolbar();
//Let the toolbar take the space it needs

//Add some dummy symbols
foreach (array(Gtk::STOCK_NEW, Gtk::STOCK_OPEN, Gtk::STOCK_SAVE) as $id) {
    $item = GtkToolButton::new_from_stock($id);
    $tb->insert($item, -1);

//Create the menu
$menu = new GtkMenu();
$styles = array(
  array('_Icons only', Gtk::TOOLBAR_ICONS),
  array('_Text only', Gtk::TOOLBAR_TEXT),
  array('Icons _and text', Gtk::TOOLBAR_BOTH)
foreach ($styles as &$style) {
    $item = new GtkMenuItem($style[0], true);
    $item->connect_simple('activate', array($tb, 'set_style'), $style[1]);

//Connect the callback and pass $menu as optional parameter
$tb->connect('popup-context-menu', 'onPopup', $menu);

function onPopup($tb, $x, $y, $button, $menu) {
    //set all items to visible

//Standard window that has the toolbar as only child
$window = new GtkWindow();
$window->connect_simple('destroy', array('Gtk', 'main_quit'));

Callback function

bool callback(GtkToolbar toolbar, int x, int y, int button);