# 2021-03-31 20:12:00.133769 UTC (+0000)

sfeed_curses 0.9.10 was released.

sfeed_curses is a curses UI front-end for sfeed.
sfeed is a tool to convert RSS or Atom feeds from XML to a TAB-separated file.

It can be found at:
 * git://git.codemadness.org/sfeed_curses
 * gopher://codemadness.org/1/git/sfeed_curses
 * https://codemadness.org/releases/sfeed_curses/
 * gopher://codemadness.org/1/releases/sfeed_curses/

.. and sfeed itself can be found at:
 * git://git.codemadness.org/sfeed
 * gopher://codemadness.org/1/git/sfeed
 * https://codemadness.org/releases/sfeed/
 * gopher://codemadness.org/1/releases/sfeed/


sfeed_curses has the following changes compared to 0.9.9:

* Fix a possible memory leak when used with ncurses and when resizing the
 window. The terminal was reinitalized using setupterm() which would leak memory
 and it is also very inefficient to do so, because it rereads the terminfo
 entries.

* Fix a possible memory leak when used with ncurses and when exiting from an
 interactive program and restoring the terminal for sfeed_curses.

* Fix an issue when the sidebar would be > 256 columns long the text on the row
 would not be displayed. Especially noticable in the monocle and horizontal
 layout in fullscreen on bigger screens.

* Fix a silent truncation which would make searching on titles with > 1024
 bytes not work on these truncated bytes.

* Fix right-click plumb not respecting the environment variable
 $SFEED_PLUMB_INTERACTIVE flag (but the keybinds did).

* Fix drawing/updating of the initial items scrollbar when switching to the
 monocle layout.

* Fix to restore the terminal state more gracefully when it could not be
 correctly initialized (for example with an invalid $TERM set).

* Fix for correctly decoding mouse buttons 6 and 7 (tilt scroll) using xterm
 X10 decoding. These buttons were not used, but still :)

* Fix: when the pane items or scrollbar are outside the window to not draw them.

- Do not clearscreen() when the window is dirty.
 This makes sure there is less flickering in xterm and urxvt, like on a window
 resize or when adjusting the sidebar.

* Add the keybinds J (shift-j) and K (shift-k) to go one item up or down and
 also open it for faster navigating and checking new items.
 Feedback idea from Hadrien Lacour, thanks!

* Also allow scrolling when the position is exactly on the pane its scrollbar
 and fix mouse button actions that don't depend on a position in a pane.

* Implement extended SGR mouse-decoding and also improve X10 mouse decoding:
   * When the terminal emulator supports SGR mouse-encoding then it can
     encode x, y values beyond 224 columns and rows. This is useful for big screens.
   * Map the side-buttons (back, forward) to switch panes. Useful in the monocle
     layout.
   * Implement keymasks (shift, meta/alt, ctrl) and pass them to the function
     mousereport().

* Improve resizing the sidebar:
 * Avoid unnecessary redraws in some (rare) cases.
 * Clamp the minimal and maximum value when adjusting the sidebar size
   depending on the layout.  This also fixes an issue in horizontal layout mode
   when the sidebar is 1 column high. It would require 2 keypresses (instead of 1)
   to increase the sidebar. This was an injustice to the fingers.

* After toggling showing new feeds or when reloading feeds try to select the
 same feed again.

* Code-style improvements, typofixes and minor documentation improvements.

--
bob
FAKE NEWS manager