sfeed_curses.1 (5482B)
1 .Dd August 23, 2020 2 .Dt SFEED_CURSES 1 3 .Os 4 .Sh NAME 5 .Nm sfeed_curses 6 .Nd curses UI for viewing feed items 7 .Sh SYNOPSIS 8 .Nm 9 .Op Ar file... 10 .Sh DESCRIPTION 11 .Nm 12 shows feed data (TSV) in the format 13 .Xr sfeed 5 14 which is read from stdin or 15 .Ar file 16 into a UI. 17 If one or more 18 .Ar file 19 are specified, the basename of the 20 .Ar file 21 is used as the feed name in the output such as the feeds sidebar. 22 If no 23 .Ar file 24 parameters are specified and so the data is read from stdin then the feed name 25 is "stdin". 26 .Pp 27 When the data is read from files then there will be a sidebar with the feeds. 28 When the data is read from stdin then here will be no sidebar visible by 29 default. 30 .Pp 31 Items with a timestamp from the last day compared to the system time at the 32 time of loading the feed are automatically marked as new and bold. 33 There is also an alternative mode available to mark items as read by matching 34 against a list of urls from a plain-text file. 35 .Pp 36 .Nm 37 aligns the output. 38 Make sure the environment variable 39 .Ev LC_CTYPE 40 is set to a UTF-8 locale, so it can determine the proper column-width 41 per rune, using 42 .Xr mbtowc 3 43 and 44 .Xr wcwidth 3 . 45 .Sh KEYBINDS 46 .Bl -tag -width Ds 47 .It k, ARROW UP 48 Go one row up. 49 .It j, ARROW DOWN 50 Go one row down. 51 .It h, ARROW LEFT 52 Focus pane to the left (feeds). 53 .It l, ARROW RIGHT 54 Focus pane to the right (items). 55 .It TAB 56 Cycle focused pane (between feeds and items). 57 .It g 58 Go to the first row. 59 .It G 60 Go to the last row. 61 .It PAGE UP, CTRL-B 62 Scroll one page up. 63 .It PAGE DOWN, CTRL-F, SPACE 64 Scroll one page down. 65 .It / 66 Prompt for a new search and search forward. 67 .It ? 68 Prompt for a new search and search backward. 69 .It n 70 Search forward with the previously set search term. 71 .It N 72 Search backward with the previously set search term. 73 .It CTRL-L 74 Redraw screen. 75 .It R 76 Reload all feed files which were specified as arguments on startup. 77 .It m 78 Toggle mouse-mode. 79 .It s 80 Toggle showing the feeds pane sidebar. 81 .It t 82 Toggle showing only feeds with new items in the sidebar. 83 .It a, e, @ 84 Plumb url of the enclosure. 85 The url is passed as a parameter to the program specified in 86 .Ev SFEED_PLUMBER . 87 .It o, ENTER, RETURN 88 Feeds pane: load feed and its items. 89 Items pane: plumb current item url, the url is passed as a parameter to 90 the program specified in 91 .Ev SFEED_PLUMBER . 92 .It c, p, | 93 Pipe the whole TAB-Separated Value line to a program. 94 This program can be specified with 95 .Ev SFEED_PIPER . 96 .It y 97 Pipe the TAB-Separated Value field for yanking the url to a program. 98 This program can be specified with 99 .Ev SFEED_YANKER . 100 .It E 101 Pipe the TAB-Separated Value field for yanking the enclosure to a program. 102 This program can be specified with 103 .Ev SFEED_YANKER . 104 .It r 105 Mark item as read. 106 This will only work when 107 .Ev SFEED_URL_FILE 108 is set. 109 .It u 110 Mark item as unread. 111 This will only work when 112 .Ev SFEED_URL_FILE 113 is set. 114 .It f 115 Mark all items of the current loaded feed as read. 116 This will only work when 117 .Ev SFEED_URL_FILE 118 is set. 119 .It F 120 Mark all items of the current loaded feed as unread. 121 This will only work when 122 .Ev SFEED_URL_FILE 123 is set. 124 .It q, EOF 125 Quit 126 .El 127 .Sh MOUSE ACTIONS 128 When mouse-mode is enabled the below actions are available. 129 .Bl -tag -width Ds 130 .It LEFT-CLICK 131 Feeds pane: select and load the feed and its items. 132 Items pane: select item, when already selected then plumb it. 133 .It RIGHT-CLICK 134 Feeds pane: select feed, but do not load it. 135 Items pane: plumb the item. 136 .It SCROLL UP 137 Scroll one page up. 138 .It SCROLL DOWN 139 Scroll one page down. 140 .El 141 .Sh SIGNALS 142 .Bl -tag -width Ds 143 .It SIGHUP 144 Reload all feed files which were specified as arguments on startup. 145 .It SIGINT, SIGTERM 146 Quit 147 .It SIGWINCH 148 Resize the pane dimensions relative to the terminal size. 149 .El 150 .Sh ENVIRONMENT VARIABLES 151 .Bl -tag -width Ds 152 .It Ev SFEED_PIPER 153 A program where the whole TAB-Separated Value line is piped to. 154 By default this is "sfeed_content". 155 .It Ev SFEED_PLUMBER 156 A program that received the link url or enclosure url as a parameter. 157 By default this is "xdg-open". 158 .It Ev SFEED_YANKER 159 A program where the url or enclosure field is piped to, to copy it to a 160 clipboard. 161 By default this is "xclip -r". 162 .It Ev SFEED_URL_FILE 163 If this variable is set then a different mode is used to mark items as read, 164 instead of checking the timestamp, which is the default. 165 The value specified is a plain-text file containing a list of read urls, one 166 url per line. 167 This url is matched on the link field as specified in 168 .Xr sfeed 5 . 169 .It Ev SFEED_MARK_READ 170 A program to mark items as read if 171 .Ev SFEED_URL_FILE 172 is also set, if unset the default program used is "sfeed_markread read". 173 The marked items are piped to the program. 174 The program is expected to merge items in a safe/transactional manner. 175 The program should return the exit status 0 on success or non-zero on failure. 176 .It Ev SFEED_MARK_UNREAD 177 A program to mark items as unread if 178 .Ev SFEED_URL_FILE 179 is also set, if unset the default program used is "sfeed_markread unread". 180 The marked items are piped to the program. 181 The program is expected to merge items in a safe/transactional manner. 182 The program should return the exit status 0 on success or non-zero on failure. 183 .It Ev SFEED_FEED_PATH 184 This variable is set by 185 .Nm 186 when a feed is loaded. 187 If the data was read from stdin this variable is unset. 188 It can be used by the plumb or pipe program for scripting purposes. 189 .El 190 .Sh EXIT STATUS 191 .Ex -std 192 .Sh SEE ALSO 193 .Xr sfeed 1 , 194 .Xr sfeed_content 1 , 195 .Xr sfeed_markread 1 , 196 .Xr sfeed_plain 1 , 197 .Xr xclip 1 , 198 .Xr sfeed 5 199 .Sh AUTHORS 200 .An Hiltjo Posthuma Aq Mt hiltjo@codemadness.org