#include "perl_notify.h" void perl_notify_notification_add_action (NotifyNotification *notification, gchar *action, gpointer userdata) { gperl_callback_invoke ((GPerlCallback *)userdata, NULL, notification, action); } MODULE = Gtk2::Notify PACKAGE = Gtk2::Notify PREFIX = notify_ PROTOTYPES: DISABLE =for object Gtk2::Notify - Perl interface to libnotify =cut =head1 SYNOPSIS use Gtk2::Notify -init, "app_name"; my $notification = Gtk2::Notify->new( $summary, $message, $icon, $attach_widget ); $notification->show; =head1 INITIALISATION use Gtk2::Notify qw/-init app_name/; =over =item -init Importing Gtk2::Notify with the -init option requires one additional argument: the application name to use. This is equivalent to Cinit($app_name)>. =back =cut gboolean notify_init (class, app_name) const char *app_name C_ARGS: app_name void notify_uninit (class) C_ARGS: /* void */ gboolean notify_is_initted (class) C_ARGS: /* void */ const gchar * notify_get_app_name (class) C_ARGS: /* void */ void notify_get_server_caps (class) PREINIT: GList *list, *tmp; PPCODE: list = notify_get_server_caps (); for (tmp = list; tmp != NULL; tmp = tmp->next) { XPUSHs (sv_2mortal (newSVGChar (tmp->data))); } g_list_free (list); NO_OUTPUT gboolean notify_get_server_info (class, OUTLIST char *name, OUTLIST char *vendor, OUTLIST char *version, OUTLIST char *spec_version) C_ARGS: &name, &vendor, &version, &spec_version POSTCALL: if (!RETVAL) { XSRETURN_EMPTY; } MODULE = Gtk2::Notify PACKAGE = Gtk2::Notify PREFIX = notify_notification_ NotifyNotification * notify_notification_new (class, summary, body=NULL, icon=NULL, attach=NULL) const gchar *summary const gchar *body const gchar *icon GtkWidget_ornull *attach C_ARGS: summary, body, icon, attach #if GTK_CHECK_VERSION (2, 9, 2) NotifyNotification * notify_notification_new_with_status_icon (class, summary, body=NULL, icon=NULL, status_icon=NULL) const gchar *summary const gchar *body const gchar *icon GtkStatusIcon *status_icon C_ARGS: summary, body, icon, status_icon #endif gboolean notify_notification_update (notification, summary, message=NULL, icon=NULL) NotifyNotification *notification const gchar *summary const gchar *message const gchar *icon void notify_notification_attach_to_widget (notification, attach) NotifyNotification *notification GtkWidget *attach #if GTK_CHECK_VERSION (2, 9, 2) void notify_notification_attach_to_status_icon (notification, status_icon) NotifyNotification *notification GtkStatusIcon *status_icon #endif void notify_notification_set_geometry_hints (notification, screen, x, y) NotifyNotification *notification GdkScreen *screen gint x gint y NO_OUTPUT gboolean notify_notification_show (notification) NotifyNotification *notification PREINIT: GError *error = NULL; C_ARGS: notification, &error POSTCALL: if (!RETVAL) { gperl_croak_gerror (NULL, error); } void notify_notification_set_timeout (notification, timeout) NotifyNotification *notification gint timeout void notify_notification_set_category (notification, category) NotifyNotification *notification const char *category void notify_notification_set_urgency (notification, urgency) NotifyNotification *notification NotifyUrgency urgency void notify_notification_set_icon_from_pixbuf (notification, icon) NotifyNotification *notification GdkPixbuf *icon void set_hint (notification, key, value) NotifyNotification *notification const gchar *key SV *value CODE: if (SvTYPE (value) == SVt_IV) { notify_notification_set_hint_int32 (notification, key, (gint)SvIV (value)); } else if (SvTYPE (value) == SVt_NV) { notify_notification_set_hint_double (notification, key, (gdouble)SvNV (value)); } else if (SvTYPE (value) == SVt_PV) { notify_notification_set_hint_string (notification, key, (gchar *)SvPV_nolen (value)); } else { SvGETMAGIC (value); (void)SvUPGRADE (value, SVt_PV); notify_notification_set_hint_string (notification, key, (gchar *)SvPV_nolen (value)); } void notify_notification_set_hint_int32 (notification, key, value) NotifyNotification *notification const gchar *key gint value void notify_notification_set_hint_double (notification, key, value) NotifyNotification *notification const gchar *key gdouble value void notify_notification_set_hint_string (notification, key, value) NotifyNotification *notification const gchar *key const gchar *value void notify_notification_set_hint_byte (notification, key, value) NotifyNotification *notification const gchar *key guchar value void notify_notification_set_hint_byte_array (notification, key, value) NotifyNotification *notification const gchar *key PREINIT: STRLEN len = 0; INPUT: const guchar *value = ($type)SvPVbyte ($arg, len); C_ARGS: notification, key, value, len void notify_notification_clear_hints (notification) NotifyNotification * notification void notify_notification_add_action (notification, action, label, callback, userdata=NULL) NotifyNotification *notification const char *action const char *label SV *callback SV *userdata PREINIT: GType param_types[2]; GPerlCallback *cb; CODE: param_types[0] = NOTIFY_TYPE_NOTIFICATION; param_types[1] = G_TYPE_STRING; cb = gperl_callback_new (callback, userdata, 2, param_types, G_TYPE_NONE); notify_notification_add_action (notification, action, label, perl_notify_notification_add_action, cb, (GFreeFunc)gperl_callback_destroy); void notify_notification_clear_actions (notification) NotifyNotification *notification NO_OUTPUT gboolean notify_notification_close (notification) NotifyNotification *notification PREINIT: GError *error = NULL; C_ARGS: notification, &error POSTCALL: if (!RETVAL) { gperl_croak_gerror (NULL, error); } BOOT: #include "register.xsh" #include "boot.xsh" =for position post_enums =head1 BUGS Please report any bugs or feature requests to C, or through the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. =head1 SUPPORT You can find documentation for this module with the perldoc command. perldoc Gtk2::Notify You can also look for information at: =over 4 =item * AnnoCPAN: Annotated CPAN documentation L =item * CPAN Ratings L =item * RT: CPAN's request tracker L =item * Search CPAN L =back =cut