Desktop::Notify::Notification - a notification object for the desktop notifications framework


Version 0.03


    # $notify is an existing Desktop::Notify object
    my $note = $notify->create(summary => 'Rebuilding FooBar',
                               body => 'Progress: 10%');
    # Update the notification later
    $note->body('Progress: 20%');
    # Take it off the screen


Desktop notification objects are represented as objects of this class. They are created by a Desktop::Notify object. Displaying, closing, and modifying the notification is done by using methods in this class.


new $notify, %params

This is called internally by Desktop::Notify to create a new notification object.


Display the notification on the screen. If this notification had previously been shown and not closed yet, it will replace the existing notification.

Show can be called multiple times on the same notification, probably with attribute changes between calls, and later show calls will cause the server to seamlessly replace the existing notification.


Close the notification if it is already being displayed.


The following parameters can be set when creating the object or later modified using accessors (descriptions are from the specification at


The summary text briefly describing the notification.


The optional detailed body text. Can be empty.


Actions are sent over as a list of pairs. Each even element in the list (starting at index 0) represents the identifier for the action. Each odd element in the list is the localized string that will be displayed to the user.

A user-specified function to be called whenever an action is invoked can be specified with Desktop::Notify's action_callback method.


Optional hints that can be passed to the server from the client program.


The timeout time in milliseconds since the display of the notification at which the notification should automatically close.

If -1, the notification's expiration time is dependent on the notification server's settings, and may vary for the type of notification. If 0, never expire.

The following extra parameters are included in the specification but not supported by Desktop::Notify at this time


The optional program icon of the calling application.