Notification

open class Notification(pointer: <Error class: unknown class><<Error class: unknown class>>)

GNotification is a mechanism for creating a notification to be shown to the user — typically as a pop-up notification presented by the desktop environment shell.

The key difference between GNotification and other similar APIs is that, if supported by the desktop environment, notifications sent with GNotification will persist after the application has exited, and even across system reboots.

Since the user may click on a notification while the application is not running, applications using GNotification should be able to be started as a D-Bus service, using class@Gio.Application.

In order for GNotification to work, the application must have installed a .desktop file. For example:

[Desktop Entry]
Name=Test Application
Comment=Description of what Test Application does
Exec=gnome-test-application
Icon=org.gnome.TestApplication
Terminal=false
Type=Application
Categories=GNOME;GTK;TestApplication Category;
StartupNotify=true
DBusActivatable=true
X-GNOME-UsesNotifications=true

The X-GNOME-UsesNotifications key indicates to GNOME Control Center that this application uses notifications, so it can be listed in the Control Center’s ‘Notifications’ panel.

The .desktop file must be named as org.gnome.TestApplication.desktop, where org.gnome.TestApplication is the ID passed to ctor@Gio.Application.new.

User interaction with a notification (either the default action, or buttons) must be associated with actions on the application (ie: app. actions). It is not possible to route user interaction through the notification itself, because the object will not exist if the application is autostarted as a result of a notification being clicked.

A notification can be sent with method@Gio.Application.send_notification.

Since

2.40

Constructors

Link copied to clipboard
constructor(title: String)

Creates a new #GNotification with @title as its title.

constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val gioNotificationPointer: <Error class: unknown class><<Error class: unknown class>>

Functions

Link copied to clipboard
open fun addButton(label: String, detailedAction: String)

Adds a button to @notification that activates the action in

Link copied to clipboard
open fun addButtonWithTarget(label: String, action: String, target: <Error class: unknown class>? = null)

Adds a button to @notification that activates @action when clicked.

Link copied to clipboard
open fun setBody(body: String? = null)

Sets the body of @notification to @body.

Link copied to clipboard
open fun setCategory(category: String? = null)

Sets the type of @notification to @category. Categories have a main type like email, im or device and can have a detail separated by a ., e.g. im.received or email.arrived. Setting the category helps the notification server to select proper feedback to the user.

Link copied to clipboard
open fun setDefaultAction(detailedAction: String)

Sets the default action of @notification to @detailed_action. This action is activated when the notification is clicked on.

Link copied to clipboard
open fun setDefaultActionAndTarget(action: String, target: <Error class: unknown class>? = null)

Sets the default action of @notification to @action. This action is activated when the notification is clicked on. It must be an application-wide action (start with "app.").

Link copied to clipboard
open fun setIcon(icon: Icon)

Sets the icon of @notification to @icon.

Link copied to clipboard
open fun setPriority(priority: NotificationPriority)

Sets the priority of @notification to @priority. See #GNotificationPriority for possible values.

Link copied to clipboard
open fun setTitle(title: String)

Sets the title of @notification to @title.

Link copied to clipboard
open fun setUrgent(urgent: Boolean)

Deprecated in favor of g_notification_set_priority().