Notification
Object Hierarchy:
Description:
[ Version ( since = "2.40" ) ]
public sealed class Notification : Object
`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].