### Signal

# Vte Terminal::setup-context-menu

#### Declaration

    void
    setup_context_menu (
      VteTerminal* self,
      const VteEventContext* context,
      gpointer user_data
    )

#### Description [src]

Emitted with non-`NULL` context before `terminal` shows a context menu. The handler may set either a menu model using vte_terminal_set_context_menu_model(), or a menu using vte_terminal_set_context_menu(), which will then be used as context menu, or keep a previously set context menu or context menu model, but update the menu and/or its `GAction:s` visibility and sensitivity. If neither a menu model nor a menu are set, a context menu will not be shown.

Note that `context` is only valid during the signal emission; you may not retain it to call methods on it afterwards.

Also emitted with `NULL` context after the context menu has been dismissed.

Default handler: The default handler is called after the handlers added via `g_signal_connect()`.

#### Parameters

`context`

  Type: `VteEventContext`

  The context.

  The argument can be `NULL`.
  The data is owned by the caller of the function.