2010-10-23 62 views
1

我还没有找到关于pynotify的文档...所以我不知道pynotify.init()funciont代表什么。帮帮我吧:)pynotify.init代表什么?

+2

你读过这个吗? http://download.gna.org/py-notify/reference/index.html – 2010-10-23 16:34:33

+3

但这不是pynotify: - \ – xRobot 2010-10-23 17:15:50

回答

3

,如果你正在谈论的Python包装的libnotify

的notify.init()只是包装C函数notify_init(),它初始化通知库。

更多的例子检查:http://roscidus.com/desktop/node/336

代码源是在这里:http://www.galago-project.org/downloads.php

的C API:http://www.galago-project.org/docs/api/libnotify/notify_8h.html

和Ubuntu的方针:https://wiki.ubuntu.com/NotificationDevelopmentGuidelines#How%20do%20I%20get%20these%20slick%20icons

更新:

这里是来自源代码的C代码E:

/** 
* notify_init: 
* @app_name: The name of the application initializing libnotify. 
* 
* Initialized libnotify. This must be called before any other functions. 
* 
* Returns: %TRUE if successful, or %FALSE on error. 
*/ 
gboolean 
notify_init(const char *app_name) 
{ 
    GError *error = NULL; 
    DBusGConnection *bus = NULL; 

    g_return_val_if_fail(app_name != NULL, FALSE); 
    g_return_val_if_fail(*app_name != '\0', FALSE); 

    if (_initted) 
     return TRUE; 

    _app_name = g_strdup(app_name); 

    g_type_init(); 

    bus = dbus_g_bus_get(DBUS_BUS_SESSION, &error); 

    if (error != NULL) 
    { 
     g_message("Unable to get session bus: %s", error->message); 
     g_error_free(error); 
     return FALSE; 
    } 

    _proxy = dbus_g_proxy_new_for_name(bus, 
             NOTIFY_DBUS_NAME, 
             NOTIFY_DBUS_CORE_OBJECT, 
             NOTIFY_DBUS_CORE_INTERFACE); 
    dbus_g_connection_unref(bus); 

    dbus_g_object_register_marshaller(notify_marshal_VOID__UINT_STRING, 
             G_TYPE_NONE, 
             G_TYPE_UINT, 
             G_TYPE_STRING, G_TYPE_INVALID); 

    dbus_g_proxy_add_signal(_proxy, "NotificationClosed", 
          G_TYPE_UINT, G_TYPE_INVALID); 
    dbus_g_proxy_add_signal(_proxy, "ActionInvoked", 
          G_TYPE_UINT, G_TYPE_STRING, 
          G_TYPE_INVALID); 

    _initted = TRUE; 

    return TRUE; 
} 

所以基本上它做它initalisaing的d-BUS通信和一些信号添加到它。

+0

它说,pynotify.init()初始化pynotify,但它没有说什么意思是初始化pynotify : - \ – xRobot 2010-10-23 18:58:02

+0

@xRobot:我刚刚更新了我的答案,有关更详细的信息,您可以从上面链接的源代码中查看洞代码。 – mouad 2010-10-23 19:15:31