### 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()`.

This method completes asynchronously. Use `xdp_portal_add_notification_finish()` inside the `GAsyncReadyCallback` to obtain the result of the operation.

#### Parameters

`id`

  Type: `const char*`

  Unique ID for the notification.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`notification`

  Type: `GVariant`

  A `GVariant` dictionary with the content of the notification.

  The data is owned by the caller of the method.

`flags`

  Type: `XdpNotificationFlags`

  Options for this call.

`cancellable`

  Type: `GCancellable`

  Optional `GCancellable`.

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

`callback`

  Type: `GAsyncReadyCallback`

  A callback to call when the request is done.

  The argument can be `NULL`.

`data`

  Type: `gpointer`

  Data to pass to `callback`.

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