vty-ui v1.0.1 Release Notes
-
API changes:
- Interface change: List: newList no longer takes a widget constructor; addToList and friends take the widget instead
- Interface change: stop using MonadIO, use IO instead. The real issue here was that the library was failing to make good on an attempted promise of sequencing vty-ui actions with an arbitrary IO-based monad transformer stack, in particular because event handlers could not be sequenced in the same MonadIO instance as everything else.
API additions:
- Add shutdownUi signal to stop event loop (fixes issue #3)
- List: add setSelected and getListItem functions
- List: add insertIntoList for arbitrary insertion
Internal changes:
- Box: query child widgets for cursor position info
- List: use at least a one-row-high item height to support emtpy list items (e.g., empty text widgets)
- List: removeFromList: when the list is focused, manage focus state of widgets involved
- List: forward key events to currently-selected item; also focus and unfocus items as selection changes
- Edit: move {remove,inject} to Util
- FormattedText: do not provide cursor positioning info.
Misc:
- Util.mergeAttr: Vty uses bitwise OR to merge styles, but that means we cannot turn style bits off, so we just replace the style mask entirely
- cabal file: loosen library dependencies a bit.
- ListDemo: focus the edit widget initially.