Skip to content

Commit

Permalink
Merge pull request #1496 from dennisschagt/feature/issue-1495
Browse files Browse the repository at this point in the history
Add %U format specifier (unread articles count) for feedlist-title-format
  • Loading branch information
dennisschagt committed Feb 27, 2021
2 parents 322182f + 9f93fcd commit 51bd4f2
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 3 deletions.
12 changes: 9 additions & 3 deletions doc/newsboat.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -1158,16 +1158,17 @@ Dialog List:<<dialogs-title-format,+dialogs-title-format+>>:%N %V - Dialogs
Identifier:Meaning
[[common-title-format-N]]<<common-title-format-N,+N+>>:Name of the program, i.e. "newsboat"
[[common-title-format-V]]<<common-title-format-V,+V+>>:Program version
[[common-title-format-u]]<<common-title-format-u,+u+>>:Number of unread articles (if applicable)
[[common-title-format-t]]<<common-title-format-t,+t+>>:Number of total articles (if applicable)
[[common-title-format-F]]<<common-title-format-F,+F+>>:Current filter expression (if applicable, empty if no filter is active)
|======================================================================

.Feed List Title Format Identifiers
[frame="all", grid="all", format="dsv", options="header", cols="30,70"]
|======================================================================
Identifier:Meaning
[[feedlist-title-format-T]]<<feedlist-title-format-T,+T+>>:Currently selected tag (empty if none selected)
[[feedlist-title-format-t]]<<feedlist-title-format-t,+t+>>:Number of total feeds
[[feedlist-title-format-u]]<<feedlist-title-format-u,+u+>>:Number of unread feeds
[[feedlist-title-format-U]]<<feedlist-title-format-U,+U+>>:Number of unread articles
[[feedlist-title-format-F]]<<feedlist-title-format-F,+F+>>:Current filter expression (empty if no filter is active)
|======================================================================

.Article List Title Format Identifiers
Expand All @@ -1176,6 +1177,9 @@ Identifier:Meaning
Identifier:Meaning
[[articlelist-title-format-T]]<<articlelist-title-format-T,+T+>>:Feed title
[[articlelist-title-format-U]]<<articlelist-title-format-U,+U+>>:Feed URL
[[articlelist-title-format-u]]<<articlelist-title-format-u,+u+>>:Number of unread articles
[[articlelist-title-format-t]]<<articlelist-title-format-t,+t+>>:Number of total articles
[[articlelist-title-format-F]]<<articlelist-title-format-F,+F+>>:Current filter expression (empty if no filter is active)
|======================================================================

.File Browser Title Format Identifiers
Expand All @@ -1200,6 +1204,8 @@ Identifier:Meaning
Identifier:Meaning
[[articleview-title-format-T]]<<articleview-title-format-T,+T+>>:Article title
[[articleview-title-format-F]]<<articleview-title-format-F,+F+>>:Feed title
[[articleview-title-format-u]]<<articleview-title-format-u,+u+>>:Number of unread articles
[[articleview-title-format-t]]<<articleview-title-format-t,+t+>>:Number of total articles
|======================================================================

=== Highlighting Text
Expand Down
1 change: 1 addition & 0 deletions include/feedlistformaction.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ class FeedListFormAction : public ListFormAction {
void update_form_title(unsigned int width);

unsigned int count_unread_feeds();
unsigned int count_unread_articles();

int get_pos(unsigned int realidx);
bool process_operation(Operation op,
Expand Down
11 changes: 11 additions & 0 deletions src/feedlistformaction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include <cassert>
#include <cstring>
#include <langinfo.h>
#include <numeric>
#include <sstream>
#include <string>

Expand Down Expand Up @@ -942,6 +943,7 @@ void FeedListFormAction::update_form_title(unsigned int width)
fmt.register_fmt('N', PROGRAM_NAME);
fmt.register_fmt('V', utils::program_version());
fmt.register_fmt('u', std::to_string(count_unread_feeds()));
fmt.register_fmt('U', std::to_string(count_unread_articles()));
fmt.register_fmt('t', std::to_string(visible_feeds.size()));
fmt.register_fmt('F', apply_filter ? matcher.get_expression() : "");

Expand All @@ -958,6 +960,15 @@ unsigned int FeedListFormAction::count_unread_feeds()
});
}

unsigned int FeedListFormAction::count_unread_articles()
{
unsigned int total = 0;
for (const auto& feed : visible_feeds) {
total += feed.first->unread_item_count();
}
return total;
}

void FeedListFormAction::op_end_setfilter()
{
std::string filtertext = qna_responses[0];
Expand Down

0 comments on commit 51bd4f2

Please sign in to comment.