### Method

# Ide Notification get_button

#### Declaration

    gboolean
    ide_notification_get_button (
      IdeNotification* self,
      guint button,
      gchar** label,
      GIcon** icon,
      gchar** action,
      GVariant** target
    )

#### Description

Gets the button indexed by `button`, and stores information about the button into the various out parameters `label`, `icon`, `action`, and `target`.

Caller should check for the number of buttons using `ide_notification_get_n_buttons()` to determine the numerical range of indexes to provide for `button`.

To avoid racing with threads modifying notifications, the caller can hold a recursive lock across the function calls using `ide_object_lock()` and ide_object_unlock().

Available since: | 3.32

#### Parameters

`button` | `guint`
| No description available.
`label` | `gchar**`
| A location for the button label.
| The argument will be set by the function.
| The argument can be `NULL`.
| The instance takes ownership of the data, and is responsible for freeing it.
| The value is a NUL terminated UTF-8 string.
`icon` | `GIcon`
| A location for the button icon.
| The argument will be set by the function.
| The argument can be `NULL`.
| The instance takes ownership of the data, and is responsible for freeing it.
`action` | `gchar**`
| A location for the button action name.
| The argument will be set by the function.
| The argument can be `NULL`.
| The instance takes ownership of the data, and is responsible for freeing it.
| The value is a NUL terminated UTF-8 string.
`target` | `GVariant`
| A location for the button action target.
| The argument will be set by the function.
| The argument can be `NULL`.
| The instance takes ownership of the data, and is responsible for freeing it.

#### Return value

Returns: | `gboolean`
| `TRUE` if `button` was found; otherwise `FALSE`.