From 0f80e80d1f333bb88eedf048ccfd48b3a3e64a3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kier=C3=A1n=20Meinhardt?= Date: Sun, 21 Aug 2022 01:04:49 +0200 Subject: [PATCH] feat(newsboat): show watch later count in bar --- configs/newsboat.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/configs/newsboat.nix b/configs/newsboat.nix index 169359f..fd18ab6 100644 --- a/configs/newsboat.nix +++ b/configs/newsboat.nix @@ -62,6 +62,8 @@ color listfocus_unread blue default bold color info red default bold ''; + + newsboat-sql = "${pkgs.sqlite}/bin/sqlite3 ${newsboat-home}/cache.db"; in { nixpkgs.config.packageOverrides = pkgs: { newsboat = pkgs.writers.writeDashBin "newsboat" '' @@ -75,15 +77,19 @@ in { if [ -f ${newsboat-home}/cache.db.lock ]; then ${pkgs.jq}/bin/jq -n '{state: "Info", text: "↻", icon: "update"}' else - ${pkgs.sqlite}/bin/sqlite3 ${newsboat-home}/cache.db "SELECT COUNT(DISTINCT id) FROM rss_item WHERE unread=1" | ${pkgs.jq}/bin/jq '{ - state: (if . > 0 then "Good" else "Idle" end), - text: . | tostring, - icon: "update" - }' + + ${pkgs.jq}/bin/jq -n \ + --argjson unread "$(${newsboat-sql} "SELECT COUNT(DISTINCT id) FROM rss_item WHERE unread=1")" \ + --argjson watchLater "$(${newsboat-sql} "SELECT COUNT(DISTINCT id) FROM rss_item WHERE flags='e' AND deleted=0")" \ + '{ + state: (if $unread > 0 then "Good" else "Idle" end), + text: "\($unread) [\($watchLater)]", + icon: "mail" + }' fi '') (pkgs.writers.writeDashBin "mpv-watch-later" '' - ${pkgs.sqlite}/bin/sqlite3 ${newsboat-home}/cache.db "SELECT url FROM rss_item WHERE flags='e' AND deleted=0 ORDER BY pubDate DESC" \ + ${newsboat-sql} "SELECT url FROM rss_item WHERE flags='e' AND deleted=0 ORDER BY pubDate DESC" \ | ${pkgs.findutils}/bin/xargs ${pkgs.mpv}/bin/mpv '') ];