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);
