ncurses: Modernised bindings to GNU ncurses

[ foreign, gpl, library, user-interfaces ] [ Propose Tags ]

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 displays 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

Flags

Manual Flags

NameDescriptionDefault
use-pkgconfig

Use pkg-config to set linker and include flags.

Disabled
force-narrow-library

Force including and linking against ncurses instead of ncursesw. This is only useful on systems that have the ncursesw package installed incorrectly. On most systems this will cause compile- or run-time errors.

Disabled
force-c2hs-newtype-pointer-hooks

Force using the newtype'd pointer hooks introduced in c2hs 0.18.1. This is only necessary when building with c2hs==0.18.1, as 0.18.2 and later can be auto-detected.

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.2.7, 0.2.8, 0.2.9, 0.2.10, 0.2.11, 0.2.12, 0.2.13, 0.2.14, 0.2.15, 0.2.16
Dependencies base (>=4.0 && <5.0), containers (>=0.2), text (>=0.7), transformers (>=0.2) [details]
License GPL-3.0-only
Author John Millikin <jmillikin@gmail.com>
Maintainer John Millikin <jmillikin@gmail.com>
Category User Interfaces, Foreign
Home page https://john-millikin.com/software/haskell-ncurses/
Bug tracker mailto:jmillikin@gmail.com
Source repo head: git clone https://john-millikin.com/code/haskell-ncurses/
this: git clone https://john-millikin.com/code/haskell-ncurses/(tag haskell-ncurses_0.2.11)
Uploaded by JohnMillikin at 2014-09-30T06:30:18Z
Distributions
Reverse Dependencies 5 direct, 3 indirect [details]
Downloads 21801 total (83 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]