commit ab81a81589c7015445e182833d8d935c19561b12
parent 4c03fcd97aa30453718144eb296aa17173ab9c65
Author: citbl <citbl@citbl.org>
Date: Thu, 30 Oct 2025 21:57:42 +1000
add link to website url when <ENTER> on the feed
Diffstat:
5 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/TODO b/TODO
@@ -4,8 +4,8 @@
[ ] ENTER on the feed title should go to the listing
[x] caching, persist links and seen, sqlite
[ ] scrolling
-[ ] instant display
-[ ] background fetching
+[f] instant display
+[f] background fetching
[ ] status bar
[ ] folders
[ ] indented feeds under one
diff --git a/src/config.h b/src/config.h
@@ -1,6 +1,6 @@
#pragma once
-#define VERSION "v1.6"
+#define VERSION "v1.7"
// recommended, pass as chrome for reddit feeds
#define USER_AGENT \
diff --git a/src/feeds.c b/src/feeds.c
@@ -89,6 +89,8 @@ parse_feed(feed_t* feed, char* url, char* http_body)
return;
}
+ feed->website_url = strdup(rss->link);
+
snprintf(feed->title, FEED_CAP, "%s", rss->title ? rss->title : "(unknown feedtitle)");
for (mrss_item_t* it = rss->item; it; it = it->next) {
diff --git a/src/keys.c b/src/keys.c
@@ -38,7 +38,9 @@ handle_key(app_t* app, struct tb_event ev)
app->selected_panel = MIN(app->selected_panel + 1, MAX_PANEL);
break;
case TB_KEY_ENTER: {
- if (app->selected_panel == 1) {
+ if (app->selected_panel == 0) {
+ open_url(app->feeds[app->selected_feed]->website_url);
+ } else if (app->selected_panel == 1) {
char url[URL_CAP] = { 0 };
db_post_t* post = app->feeds[app->selected_feed]->posts[app->selected_post];
size_t len = MIN(URL_CAP, strlen(post->link));
diff --git a/src/readr.h b/src/readr.h
@@ -19,6 +19,7 @@ typedef struct {
} post_t;
typedef struct {
+ const char* website_url;
const char* url;
char* title;
db_post_t** posts;