name: ncurses version: 0.2.1 license: GPL-3 license-file: license.txt author: John Millikin maintainer: John Millikin build-type: Simple cabal-version: >= 1.6 category: User Interfaces, Foreign stability: experimental homepage: https://john-millikin.com/software/haskell-ncurses/ bug-reports: mailto:jmillikin@gmail.com synopsis: Modernised bindings to GNU ncurses description: GNU ncurses is a library for creating command-line application with pseudo-graphical interfaces. This package is a nice, modern binding to GNU ncurses. . The following example is a program that display the message \"Hello world!\" until the user hits Q: . @ import UI.NCurses . main :: IO () main = runCurses $ do setEcho False w <- defaultWindow updateWindow w $ do moveCursor 1 10 drawString \"Hello world!\" moveCursor 3 10 drawString \"(press q to quit)\" moveCursor 0 0 render waitFor w (\ev -> ev == EventCharacter \'q\' || ev == EventCharacter \'Q\') . waitFor :: Window -> (Event -> Bool) -> Curses () waitFor w p = loop where loop = do ev <- getEvent w Nothing case ev of Nothing -> loop Just ev' -> if p ev' then return () else loop @ extra-source-files: cbits/hsncurses-shim.c cbits/hsncurses-shim.h source-repository head type: bazaar location: https://john-millikin.com/branches/haskell-ncurses/0.2/ source-repository head type: bazaar location: https://john-millikin.com/branches/haskell-ncurses/0.2/ tag: haskell-ncurses_0.2.1 library hs-source-dirs: lib ghc-options: -Wall -O2 build-depends: base >= 4.0 && < 5.0 , containers >= 0.2 , text >= 0.7 , transformers >= 0.2 build-tools: c2hs >= 0.15 extra-libraries: panel ncursesw c-sources: cbits/hsncurses-shim.c exposed-modules: UI.NCurses UI.NCurses.Panel other-modules: UI.NCurses.Enums UI.NCurses.Types