Desktop::Notify(3) Communicate with the Desktop Notifications framework


Version 0.03


use Desktop::Notify;

# Open a connection to the notification daemon
my $notify = Desktop::Notify->new();

# Create a notification to display
my $notification = $notify->create(summary => 'Desktop::Notify',
body => 'Hello, world!',
timeout => 5000);

# Display the notification

# Close the notification later


This module provides a Perl interface to the Desktop Notifications framework.

The framework allows applications to display pop-up notifications on an X desktop. This is implemented with two components: a daemon that displays the notifications, and a client library used by applications to send notifications to the daemon. These components communicate through the DBus message bus protocol.

More information is available from <>

This module serves the same purpose as "libnotify", in an object-oriented Perl interface. It is not, however, an interface to "libnotify" itself, but a separate implementation of the specification using Net::DBus.


new %opts

Connect to the notification daemon. %opts can include the following options:
The application name to use for notifications. Default is "basename($0)"
The Net::DBus mesage bus to use. Default is to call Net::DBus->session, which is usually where notification-daemon can be reached.
The DBus service name of the daemon. Default is org.freedesktop.Notifications.
The path to the notifications DBus object. Default is /org/freedesktop/Notifications.
The DBus interface to access the notifications object as. Default is org.freedesktop.Notifications.

create %params

Creates a new notification object that can be displayed later. This will return a Desktop::Notify::Notification object; see that module for information about using it.

close_callback $coderef

Sets a user-specified function to be called whenever a notification is closed. It will be called with one argument, which is the Notification object that was just closed.


Stephen Cavilia, "<sac at>"


Please report any bugs or feature requests to "bug-desktop-notify at", or through the web interface at <>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


You can find documentation for this module with the perldoc command.

    perldoc Desktop::Notify

You can also look for information at:



Copyright 2007 Stephen Cavilia, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.