On Wed, 2006-12-20 at 18:45 -0600, Brian Cameron wrote:
> Jedy:
> 
> >> I would recommend not updating our spec-files with these new modules
> >> until *after* these new modules are properly ARC'ed.  Since some of
> >> these modules come from non-standard locations (e.g. not ftp.gnome.org),
> >> I'd like some idea of how stable these modules are, what interfaces
> >> they expose, if end-users are likely to want to use any exposed
> >> interfaces, etc.
> > 
> > Because most of distributions have included there modules, I think they
> > are stable enough to use. But I am not sure whether the interfaces are
> > stable enough or not.
> 
> I'd be interested to know what new interfaces are added due to this
> change.  Especially if the interfaces are intended for end-users.  Is
> there an expectation that if somebody writes a new GNOME application
> that they would want to integrate with these modules?

libnotify:
/usr/bin/notify-send
/usr/include/libnotify/notification.h  
/usr/include/libnotfy/notify-enum-types.h  
/usr/include/libnotfy/notify.h
/usr/lib/libnotify.so*
/usr/lib/pkgconfig/libnotify.pc
/usr/share/gtk-doc/html/libnotify

libsexy:
/usr/include/libsexy/sexy-enum-types.h
/usr/include/libsexy/sexy.h
/usr/include/libsexy/sexy-icon-entry.h
/usr/include/libsexy/sexy-spell-entry.h
/usr/include/libsexy/sexy-tooltip.h
/usr/include/libsexy/sexy-tree-view.h
/usr/include/libsexy/sexy-url-label.h
/usr/lib/libsexy.so*
/usr/lib/pkgconfig/libsexy.pc
/usr/share/gtk-doc/html/libsexy

notification-daemon:
/etc/gconf/schemas/notification-daemon.schemas
/usr/share/dbus-1/services/org.freedesktop.Notifications.service
/usr/lib/notification-daemon-1.0/engines/libstandard.so
/usr/lib/notification-daemon

APIs they provide to programmer are attached.
Introductions about the new widgets libsexy provides can be found
here:http://www.chipx86.com/wiki/Libsexy

Several applications are using libnotify(optionally), such as evolution,
gnome-applets, gnome-power-manager, gaim(a plugin) and xchat-gnome. And
many applications those would notify users something has happened can
benefit from these modules, such as nautilus, rhythmbox and ekiga.
> 
> It would be good if you provided the interface table you plan to
> include when you ARC these new components with the review information
> so we can evaluate the impact before we add to spec-files.  Do you
> plan to FastTrack or will this be a full case?

We hope the arc can be included in arc of gnome-2-18.

> 
> The interface table should explain (in the exported interface table)
> what interfaces are actually used by other modules in the GNOME stack.
> 
> >> If these modules aren't at ftp.gnome.org, can you explain why?  Is
> >> there anything we should be doing to help encourage these modules to
> >> be more formally accepted by the GNOME community?
> > 
> > I will send a mail to ask the maintainers.
> 
> Yes, it seems like these should be official GNOME desktop modules
> if people are using them in GNOME desktop applications.  Perhaps
> we should do more to encourage their official recognition as GNOME
> Desktop modules.  If there are issues why these aren't yet a part
> of the GNOME desktop, I'd like to know why.
For the discussion about the proposal, please refer to:
http://mail.gnome.org/archives/desktop-devel-list/2005-December/msg00070.html
http://mail.gnome.org/archives/desktop-devel-list/2004-November/msg00178.html
I think the reasons are:
1)Some people want gtk2 and notification-area provide such
functionality.
2)They do not want a daemon process(notification-daemon).
> 
> >> Would these modules be more appropriate for spec-files-extra if we
> >> want to make them available for end users to play with, but if they
> >> aren't ready for real 2.18 integration yet?
> > 
> > It does not work that put them in spec-files-extra, because most of the
> > applications using them is in spec-files.
> 
> If we end up deciding that they aren't stable enough for including in
> JDS yet, then we could add them to spec-files-extra so that people who
> want to build them, and rebuild whatever modules use them can do so
> if they want to use them, or help to make them more stable so they can
> become a part of the official GNOME Platform.
> 
> Brian
-------------- next part --------------
libnotify:

gboolean
notify_init(const char *app_name);

gboolean
notify_init(const char *app_name);

void
notify_uninit(void);

gboolean
notify_is_initted(void);

const gchar *
notify_get_app_name(void);

GList *
notify_get_server_caps(void);

gboolean
notify_get_server_info(char **ret_name,
                char **ret_vendor, char **ret_version,
                char **ret_spec_version);

NotifyNotification *
notify_notification_new(const gchar *summary, const gchar *body,
                        const gchar *icon, GtkWidget *attach);

gboolean
notify_notification_update(NotifyNotification *notification,
                const gchar *summary, const gchar *body, const gchar *icon);

void
notify_notification_attach_to_widget(NotifyNotification* notification,
                                GtkWidget *attach);

void
notify_notification_set_geometry_hints(NotifyNotification *notification,
                                        GdkScreen *screen, gint x, gint y);

gboolean
notify_notification_show(NotifyNotification *notification,
                                  GError **error);

void
notify_notification_set_timeout(NotifyNotification *notification,
                                gint timeout);

void
notify_notification_set_category(NotifyNotification *notification,
                                const char *category);

void
notify_notification_set_urgency(NotifyNotification *notification,
                                NotifyUrgency urgency);

void
notify_notification_set_icon_from_pixbuf(NotifyNotification *notification,
                                        GdkPixbuf *icon);

void
notify_notification_set_hint_int32(NotifyNotification *notification,
                                const gchar *key, gint value);

void
notify_notification_set_hint_double(NotifyNotification *notification,
                                const gchar *key, gdouble value);

void
notify_notification_set_hint_string(NotifyNotification *notification,
                                 const gchar *key, const gchar *value);

void
notify_notification_set_hint_byte(NotifyNotification *notification,
                                const gchar *key, guchar value);

void
notify_notification_set_hint_byte_array(NotifyNotification *notification,
                                const gchar *key, const guchar *value, gsize 
len);

void
notify_notification_clear_hints(NotifyNotification *notification);

void
notify_notification_add_action(NotifyNotification *notification,
                        const char *action, const char *label,
                        NotifyActionCallback callback,
                        gpointer user_data, GFreeFunc free_func);

void
notify_notification_clear_actions(NotifyNotification *notification);

gboolean
notify_notification_close(NotifyNotification *notification, GError **error);

interfaces for gtk2-2.9.2 and above:
NotifyNotification *
notify_notification_new_with_status_icon(const gchar *summary, const gchar 
*body,
                                const gchar *icon, GtkStatusIcon *status_icon);

NotifyNotification *
notify_notification_new_with_status_icon(const gchar *summary, const gchar 
*body,
                                        const gchar *icon, GtkStatusIcon 
*status_icon);
-------------- next part --------------
libsexy:
provides 5 more widgets
1)sexy-icon-entry:
GtkWidget *
sexy_icon_entry_new(void);
void
sexy_icon_entry_set_icon(SexyIconEntry *entry,
                SexyIconEntryPosition position, GtkImage *icon);
void
sexy_icon_entry_set_icon_highlight(SexyIconEntry *entry,
                        SexyIconEntryPosition position, gboolean highlight);
GtkImage *
sexy_icon_entry_get_icon(const SexyIconEntry *entry,
                        SexyIconEntryPosition position);
gboolean
sexy_icon_entry_get_icon_highlight(const SexyIconEntry *entry,
                                SexyIconEntryPosition position);
void
sexy_icon_entry_add_clear_button(SexyIconEntry *icon_entry);


2)sexy-spell-entry
GtkWidget *
sexy_spell_entry_new(void);
GQuark
sexy_spell_error_quark(void);
GSList *
sexy_spell_entry_get_languages(const SexySpellEntry *entry);
gchar *
sexy_spell_entry_get_language_name(const SexySpellEntry *entry,
                                const gchar *lang);
gboolean
sexy_spell_entry_language_is_active(const SexySpellEntry *entry,
                                const gchar *lang);
gboolean
sexy_spell_entry_activate_language(SexySpellEntry *entry,
                                const gchar *lang, GError **error);
void
sexy_spell_entry_deactivate_language(SexySpellEntry *entry,
                                        const gchar *lang);
gboolean
sexy_spell_entry_set_active_languages(SexySpellEntry *entry,
                                GSList *langs, GError **error);
GSList *
sexy_spell_entry_get_active_languages(SexySpellEntry *entry);
gboolean
sexy_spell_entry_is_checked(SexySpellEntry *entry);
void
sexy_spell_entry_set_checked(SexySpellEntry *entry, gboolean checked);
void
sexy_spell_entry_activate_default_languages(SexySpellEntry *entry);

3)sexy-tooltip
GtkWidget *
sexy_tooltip_new(void);
GtkWidget *
sexy_tooltip_new_with_label(const gchar *text);
void
sexy_tooltip_position_to_widget(SexyTooltip *tooltip, GtkWidget *widget);
void
sexy_tooltip_position_to_rect(SexyTooltip *tooltip,
                        GdkRectangle *rect, GdkScreen *screen);

4)sexy-tree-view
GtkWidget *
sexy_tree_view_new(void);
void
sexy_tree_view_set_tooltip_label_column(SexyTreeView *treeview, guint column);

5)sexy-url-label
GtkWidget *
sexy_url_label_new(void);
void
sexy_url_label_set_markup(SexyUrlLabel *url_label, const gchar *markup);

Reply via email to