Releases: mattpolzin/ncurses-idris
Dependency Update
Update Indexed dependency version used by Makefile to address warnings for HEAD of Idris2 compiler.
Apple Silicon compatibility
Thanks to @dunhamsteve for tracking down and fixing a drawing bug related to this library's NCurses calls on M1 Macs (and presumably other Apple Silicon architectures).
Also a shoutout to @gallais for the Snake and Tetris examples you can now find in this repo's examples directory.
Compatibility with idris-indexed v0.0.9
Updates this NCurses library to support the breaking changes in v0.0.9 of the Indexed library.
Refactor support Makefile
Refactor support file build process to be triggered by Idris package build hooks rather than from root Makefile.
0.2.0: Merge pull request #22 from mattpolzin/better-dx
Improvements
- drastically improve the usability of the
inWindowfunction by reducing the number of times that proofs ofIsActive,InWindow, andHasWindowneed to be manually hinted at by the developer.
A lot of code like
inWindow "win" $
doSomething x y z @{setWindowIsActiveStill} @{setWindowHasWindowStill}can become
inWindow "win" $
doSomething x y zBreaking Changes
N/A
Standard Stuff
Improvements
- improve performance slightly and mostly in edge cases.
- add a first performance test case.
- fix a bug where
getPoswas getting the cursor position butsetPoswas setting the current window position. - fix bug with
Control.NCurses.Prettynot tracking push/pop of attributes correctly.
Breaking Changes
Rename Control.NCurses getPos to getWindowPos, setPos to setWindowPos, getSize to getWindowSize, and setSize to setWindowSize.
Add ability to set window background colors
Adds NCurses.Core setBackground and setBackground' functions and adds Control.NCurses setBackground function.
Fix bug where width & height were swapped.
Fixed a bug where Control.NCurses.setSize was setting width to height and vice versa.
Fix bug where some keys were the same value with keypad turned on
Merge pull request #18 from mattpolzin/fix-char-retrieval Fix key retrieval via FFI
Window positioning and attribute updating
Breaking Changes
- rename
nChangeAttrtonChangeAttrAtand same fornChangeAttr'->nChangeAttrAt'. - move
Attribute'sDefaultColorsinto the newColorAttrtype along with theNamedColorconstructor that used to beAttribute'sColorconstructor.
Additions
deleteWindowandmoveWindowinNCurses.Core.nChangeAttrreintroduced inNCurses.Core(see note about renaming above) but as a function that does not move the cursor prior to changing the attribute for some number length of characters.updateAttrandsetPosinControl.NCurses.