### Method

# Xdp Portal add_notification

#### Declaration [src]

    void
    xdp_portal_add_notification (
      XdpPortal* portal,
      const char* id,
      GVariant* notification,
      XdpNotificationFlags flags,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer data
    )

#### Description [src]

Sends a desktop notification.

The following keys may be present in `notification`:

- title `s`: a user-visible string to display as title
- body `s`: a user-visible string to display as body
- icon `v`: a serialized icon (in the format produced by `g_icon_serialize()`)
- priority `s`: “low”, “normal”, “high” or “urgent”
- default-action `s`: name of an action that will be activated when the user clicks on the notification
- default-action-target `v`: target parameter to send along when activating the default action.
- buttons `aa{sv}`: array of serialized buttons

Each serialized button is a dictionary with the following supported keys:

- label `s`: user-visible lable for the button. Mandatory
- action `s`: name of an action that will be activated when the user clicks on the button. Mandatory
- target `v`: target parameter to send along when activating the button

Actions with a prefix of “app.” are assumed to be exported by the application and will be activated via the org.freedesktop.Application interface, others are activated by emitting the `XdpPortal::notification-action-invoked` signal.

It is the callers responsibility to ensure that the ID is unique among all notifications.

To withdraw a notification, use `xdp_portal_remove_notification()`.

#### Parameters

`id` | `const char*`
| Unique ID for the notification.
| The data is owned by the caller of the function.
| The value is a NUL terminated UTF-8 string.
`notification` | `GVariant`
| A `GVariant` dictionary with the content of the notification.
| The data is owned by the caller of the function.
`flags` | `XdpNotificationFlags`
| Options for this call.
`cancellable` | `GCancellable`
| Optional `GCancellable`
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`callback` | `GAsyncReadyCallback`
| A callback to call when the request is done.
| The argument can be `NULL`.
`data` | `gpointer`
| Data to pass to `callback`.
| The argument can be `NULL`.
| The data is owned by the caller of the function.