summaryrefslogtreecommitdiffstats
path: root/.local/bin/ref-newsboat.pl
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/ref-newsboat.pl')
-rwxr-xr-x.local/bin/ref-newsboat.pl45
1 files changed, 45 insertions, 0 deletions
diff --git a/.local/bin/ref-newsboat.pl b/.local/bin/ref-newsboat.pl
new file mode 100755
index 0000000..70e2955
--- /dev/null
+++ b/.local/bin/ref-newsboat.pl
@@ -0,0 +1,45 @@
+#!/usr/local/bin/perl
+
+use strict;
+use warnings;
+use Capture::Tiny qw(capture);
+
+use constant {
+ NEWSBOAT_PATH => '/usr/local/bin/newsboat',
+ NOTIFY_SEND_PATH => '/usr/local/bin/notify-send'
+};
+
+sub main
+{
+ my $stdout;
+ if (system(
+ NEWSBOAT_PATH,
+ '-x',
+ 'reload'
+ ) != 0) {
+ exit 1;
+ }
+ ($stdout, undef, undef) = capture {
+ system(
+ NEWSBOAT_PATH,
+ '-x',
+ 'print-unread'
+ );
+ };
+ $stdout =~ s/\s.+//;
+ chomp $stdout;
+ if ($stdout != 0) {
+ system(
+ NOTIFY_SEND_PATH,
+ '-u',
+ 'low',
+ 'newsboat',
+ $stdout . ' new articles'
+ );
+ }
+ exit 0;
+}
+
+main();
+
+__END__