hscurses-1.3: NCurses bindings for Haskell

UI.HSCurses.CursesHelper

Contents

Synopsis

UI initialisation

start :: IO ()Source

start initializes the UI and grabs the keyboard.

This function installs a handler for the SIGWINCH signal which writes the KEY_RESIZE key to the input queue (if KEY_RESIZE and and SIGWINCH are both available).

end :: IO ()Source

Clean up and go home.

suspend :: IO ()Source

Suspend the program.

resizeui :: IO (Int, Int)Source

Resize the window From Writing Programs with NCURSES, by Eric S. Raymond and Zeyd M. Ben-Halim

Input

getKey :: MonadIO m => m () -> m KeySource

getKey refresh reads a key.

The refresh function is used to redraw the screen when the terminal size changes (see the documentatio of start for a discussion of the problem).

Drawing

drawLine :: Int -> String -> IO ()Source

drawLine n s draws n characters of string s.

drawCursor :: (Int, Int) -> (Int, Int) -> IO ()Source

Draw the cursor at the given position.

Navigation

gotoTop :: IO ()Source

Move cursor to origin of stdScr.

Colors

defaultColor :: ColorSource

Basic colors.

Attributes

data Attribute Source

Abstractions for some commonly used attributes.

Constructors

Bold 
Underline 
Dim 
Reverse 
Blink 

convertAttributes :: [Attribute] -> AttrSource

Converts an abstract attribute list into its curses representation.

Style

data CursesStyle Source

A style which uses the internal curses representations for attributes and colors.

changeCursesStyle :: CursesStyle -> [Attribute] -> CursesStyleSource

Changes the attributes of the given CursesStyle.

setStyle :: CursesStyle -> IO ()Source

Manipulate the current style of the standard screen

resetStyle :: IO ()Source

Reset the screen to normal values

convertStyles :: [Style] -> IO [CursesStyle]Source

Converts a list of human-readable styles into the corresponding curses representation.

This function should be called exactly once at application startup for all styles of the application.

withStyle :: MonadExcIO m => CursesStyle -> m a -> m aSource

Keys

displayKey :: Key -> StringSource

Converting keys to humand-readable strings

Helpers

withCursor :: MonadExcIO m => CursorVisibility -> m a -> m aSource

Other helpers

set the cursor, and do action

withProgram :: MonadExcIO m => m a -> m aSource