Gio.Notification

g GObject.Object GObject.Object Gio.Notification Gio.Notification GObject.Object->Gio.Notification

Subclasses:

None

Methods

Inherited:

GObject.Object (37)

Structs:

GObject.ObjectClass (5)

class

new (title)

add_button (label, detailed_action)

add_button_with_target (label, action, target)

set_body (body)

set_category (category)

set_default_action (detailed_action)

set_default_action_and_target (action, target)

set_icon (icon)

set_priority (priority)

set_title (title)

set_urgent (urgent)

Virtual Methods

Inherited:

GObject.Object (7)

Properties

None

Signals

Inherited:

GObject.Object (1)

Fields

Inherited:

GObject.Object (1)

Class Details

class Gio.Notification(**kwargs)
Bases:

GObject.Object

Abstract:

No

Gio.Notification 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 Gio.Notification and other similar APIs is that, if supported by the desktop environment, notifications sent with Gio.Notification 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 Gio.Notification should be able to be started as a D-Bus service, using Gio.Application.

In order for Gio.Notification 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 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 Gio.Application.send_notification().

New in version 2.40.

classmethod new(title)[source]
Parameters:

title (str) – the title of the notification

Returns:

a new Gio.Notification instance

Return type:

Gio.Notification

Creates a new Gio.Notification with title as its title.

After populating notification with more details, it can be sent to the desktop shell with Gio.Application.send_notification(). Changing any properties after this call will not have any effect until resending notification.

New in version 2.40.

add_button(label, detailed_action)[source]
Parameters:
  • label (str) – label of the button

  • detailed_action (str) – a detailed action name

Adds a button to self that activates the action in detailed_action when clicked. That action must be an application-wide action (starting with “app.”). If detailed_action contains a target, the action will be activated with that target as its parameter.

See Gio.Action.parse_detailed_name() for a description of the format for detailed_action.

New in version 2.40.

add_button_with_target(label, action, target)[source]
Parameters:

Adds a button to self that activates action when clicked. action must be an application-wide action (it must start with “app.”).

If target is non-None, action will be activated with target as its parameter.

New in version 2.40.

set_body(body)[source]
Parameters:

body (str or None) – the new body for self, or None

Sets the body of self to body.

New in version 2.40.

set_category(category)[source]
Parameters:

category (str or None) – the category for self, or None for no category

Sets the type of self 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.

Standard categories are listed in the specification.

New in version 2.70.

set_default_action(detailed_action)[source]
Parameters:

detailed_action (str) – a detailed action name

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

The action in detailed_action must be an application-wide action (it must start with “app.”). If detailed_action contains a target, the given action will be activated with that target as its parameter. See Gio.Action.parse_detailed_name() for a description of the format for detailed_action.

When no default action is set, the application that the notification was sent on is activated.

New in version 2.40.

set_default_action_and_target(action, target)[source]
Parameters:

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

If target is non-None, action will be activated with target as its parameter. If target is floating, it will be consumed.

When no default action is set, the application that the notification was sent on is activated.

New in version 2.40.

set_icon(icon)[source]
Parameters:

icon (Gio.Icon) – the icon to be shown in self, as a Gio.Icon

Sets the icon of self to icon.

New in version 2.40.

set_priority(priority)[source]
Parameters:

priority (Gio.NotificationPriority) – a Gio.NotificationPriority

Sets the priority of self to priority. See Gio.NotificationPriority for possible values.

set_title(title)[source]
Parameters:

title (str) – the new title for self

Sets the title of self to title.

New in version 2.40.

set_urgent(urgent)[source]
Parameters:

urgent (bool) – True if self is urgent

Deprecated in favor of Gio.Notification.set_priority().

New in version 2.40.

Deprecated since version 2.42: Since 2.42, this has been deprecated in favour of Gio.Notification.set_priority().