+ return TRUE;
+}
+
+void headline_row_activated_cbk(GtkWidget *widget, gpointer data)
+{
+ GdkScreen *screen;
+ GError *error;
+ GtkTreeSelection *selection;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ struct headline *h;
+ const char *url;
+ int id;
+
+ printf("headline_row_activated_cbk()");
+
+ selection = gtk_tree_view_get_selection(w_headlinetree);
+ model = gtk_tree_view_get_model(w_headlinetree);
+
+ if (gtk_tree_selection_get_selected(selection, &model, &iter)) {
+ gtk_tree_model_get(model, &iter, 1, &id, -1);
+
+ h = ttrss_get_headline(id);
+ if (h) {
+ url = h->url;
+
+ if (gtk_widget_has_screen(widget))
+ screen = gtk_widget_get_screen(widget);
+ else
+ screen = gdk_screen_get_default();
+
+ error = NULL;
+ gtk_show_uri(screen, url,
+ gtk_get_current_event_time(), &error);
+ }
+ }
+}
+
+gboolean
+window_delete_event_cbk(GtkWidget *widget, GdkEvent *event, gpointer data)
+{
+ log_debug("window_delete_event_cbk");
+
+ gtk_main_quit();
+
+ return TRUE;
+}
+
+void quit_activate_cbk(GtkWidget *menu_item, gpointer data)
+{
+ log_debug("quit_activate_cbk");
+
+ gtk_main_quit();
+}
+
+void help_activate_cbk(GtkWidget *menu_item, gpointer data)
+{
+ log_debug("help_activate_cbk");
+
+ gtk_show_about_dialog
+ (NULL,
+ "comments",
+ _("PRSS is a GTK+ client application for Tiny Tiny RSS "),
+ "copyright",
+ _("Copyright(c) 2010-2013\njeanfi@gmail.com"),
+ "logo-icon-name", "prss",
+ "program-name", "PRSS",
+ "title", _("About PRSS"),
+ "version", VERSION,
+ "website", PACKAGE_URL,
+ "website-label", _("PRSS Homepage"),
+ NULL);
+}
+
+static void log_init()
+{
+ char *home, *path, *dir;
+
+ home = getenv("HOME");
+
+ if (!home)
+ return ;
+
+ dir = malloc(strlen(home)+1+strlen(".prss")+1);
+ sprintf(dir, "%s/%s", home, ".prss");
+ mkdir(dir, 0777);
+
+ path = malloc(strlen(dir)+1+strlen("log")+1);
+ sprintf(path, "%s/%s", dir, "log");
+
+ log_open(path);
+
+ free(dir);
+ free(path);