diff options
Diffstat (limited to 'README.curses')
-rw-r--r-- | README.curses | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/README.curses b/README.curses deleted file mode 100644 index f5e61dd..0000000 --- a/README.curses +++ /dev/null @@ -1,176 +0,0 @@ -sfeed_curses ------------- - -sfeed_curses is a curses UI front-end for sfeed. - -It shows the TAB-separated feed items in a graphical command-line UI. The -interface has a look inspired by the mutt mail client. It has a sidebar panel -for the feeds, a panel with a listing of the items and a small statusbar for -the selected item/URL. Some functions like searching and scrolling are -integrated in the interface itself. - - -Build and install ------------------ - -$ make -# make install - - -Usage ------ - -Like the format programs included in sfeed you can run it like this: - - sfeed_curses ~/.sfeed/feeds/* - -... or by reading from stdin: - - sfeed_curses < ~/.sfeed/feeds/xkcd - -By default sfeed_curses marks the items of the last day as new/bold. To manage -read/unread items in a different way a plain-text file with a list of the read -URLs can be used. To enable this behaviour the path to this file can be -specified by setting the environment variable $SFEED_URL_FILE to the URL file: - - export SFEED_URL_FILE="$HOME/.sfeed/urls" - [ -f "$SFEED_URL_FILE" ] || touch "$SFEED_URL_FILE" - sfeed_curses ~/.sfeed/feeds/* - -There is a shellscript "sfeed_markread" to process the read and unread items. -See the man page for more detailed information. - - -Dependencies ------------- - -- C compiler (C99). -- libc (recommended: C99 and POSIX >= 200809). -- curses (typically ncurses), optional but recommended: but see minicurses.h. - - -Optional dependencies ---------------------- - -- POSIX make(1) for Makefile. -- mandoc for documentation: https://mdocml.bsd.lv/ - - -Run-time dependencies ---------------------- - -- A (POSIX) shell. -- A terminal (emulator) supporting UTF-8 and the used capabilities. - - -Optional run-time dependencies ------------------------------- - -- xclip for yanking the URL or enclosure. See $SFEED_YANKER to change it. -- xdg-open, used as a plumber by default. See $SFEED_PLUMBER to change it. -- awk, used by the sfeed_content and sfeed_markread script. - See the ENVIRONMENT VARIABLES section in the man page to change it. -- lynx, used by the sfeed_content script to convert HTML content. - See the ENVIRONMENT VARIABLES section in the man page to change it. - - -OS tested ---------- - -- Linux (compilers: clang, gcc, tcc, libc: glibc, musl). -- OpenBSD (clang, gcc). -- NetBSD -- FreeBSD -- DragonFlyBSD -- Illumos (OpenIndiana). -- Windows (cygwin gcc + mintty). -- HaikuOS - - -Known terminal issues ---------------------- - -Below lists some bugs or missing features in terminals that are found while -testing. Some of them might be fixed already upstream: - -- cygwin + mintty: the xterm mouse-encoding of the mouse position is broken for - scrolling. -- HaikuOS terminal: the xterm mouse-encoding of the mouse button number of the - middle-button, right-button is incorrect / reversed. -- putty: the full reset attribute (ESC c, typically `rs1`) does not reset the - window title. - - -Color themes ------------- - -To change the default theme you can set SFEED_THEME using make or in the -Makefile or include the a header file in sfeed_curses.c. See also the themes/ -directory. - - -Running custom commands inside the program ------------------------------------------- - -Running commands inside the program can be useful for example to sync items or -mark all items across all feeds as read. It can be comfortable to have a -keybind for this inside the program to perform a scripted action and then -reload the feeds by sending the signal SIGHUP. - -In the input handling code you can then add a case: - - case 'M': - forkexec((char *[]) { "markallread.sh", NULL }, 0); - break; - -or - - case 'S': - forkexec((char *[]) { "syncnews.sh", NULL }, 1); - break; - -The specified script should be in $PATH or an absolute path. - -Example of a `markallread.sh` shellscript to mark all URLs as read: - - #!/bin/sh - # mark all items/URLs as read. - - tmp=$(mktemp) - (cat ~/.sfeed/urls; cut -f 3 ~/.sfeed/feeds/*) | \ - awk '!x[$0]++' > "$tmp" && - mv "$tmp" ~/.sfeed/urls && - pkill -SIGHUP sfeed_curses # reload feeds. - -Example of a `syncnews.sh` shellscript to update the feeds and reload them: - - #!/bin/sh - sfeed_update && pkill -SIGHUP sfeed_curses - - -Open an URL directly in the same terminal ------------------------------------------ - -To open an URL directly in the same terminal using the text-mode lynx browser: - - SFEED_PLUMBER=lynx SFEED_PLUMBER_INTERACTIVE=1 sfeed_curses ~/.sfeed/feeds/* - - -Yank to tmux buffer -------------------- - -This changes the yank command to set the tmux buffer, instead of X11 xclip: - - SFEED_YANKER="tmux set-buffer \`cat\`" - - -License -------- - -ISC, see LICENSE file. - - -Author ------- - -Hiltjo Posthuma <hiltjo@codemadness.org> |