Gtk2::Recent status: Finally, the libegg/recent-files
bindings for Perl hit the gtk2-perl CVS server (well, at least the authenticated CVS server; anonymous CVS should be updated in 24 hours).
recent-files status: On a related note, I mailed James Willcox (the recent-files
maintainer), asking him if this library is still actively maintained, and stepping up for help (triaging bugs, reviewing patches, applying them, and possibly development).
I’ve some ideas, like the creation of a Gnome library based on the actual recent-files
code, depending on libgnomevfs
and some other stuff, which monitors the recent files file and their state (if local, with the option for remote file checking, maybe using a GConf preference). It will have a RecentMenu
widget, composed of RecentMenuItem
s, for visualization – thus simplifying the code:
RecentModel *model = gnome_recent_model_new (RECENT_MODEL_ORDER_MRU);
GtkWidget *menu = gnome_recent_menu_new (model);
GtkWidget *menuitem = gtk_image_menu_item_new (GTK_STOCK_CLEAR);
g_signal_connect (G_OBEJCT (menu), "activate", G_CALLBACK (on_recent_activate), NULL);
g_signal_connect (G_OBJECT (menuitem), "activate", G_CALLBACK (on_clear_activate), model);
gnome_recent_menu_set_show_trailing_separator (GNOME_RECENT_MENU (menu), TRUE);
gnome_recent_menu_append_item (GNOME_RECENT_MENU (menu), menuitem);
gtk_widget_show (menuitem);
gtk_widget_show (menu);
Then, you could simply attach this menu as a GtkMenuItem
submenu.
Future plans: See here for some neat ideas (not from me) about the recent stuff handling.