h,H9      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.5.0.0None r None None None**Normal display (no highlight) The cbreak routine disables line buffering and erase/kill character-processing (interrupt and flow control characters are unaffected), making characters typed by the user immediately available to the program. The nocbreak routine returns the terminal to normal (cooked) mode.!Defines the maximum number of color-pairs the terminal can support).#Set the cursor state. The curs_set routine sets the cursor state is set to invisible, normal, or very visible for visibility equal to 0, 1, or 2 respectively. If the terminal supports the visibility requested, the previous cursor state is returned; otherwise, ERR is returned.$The SIGWINCH signal is sent whenever the terminal size changes. This signal is not available on all platforms, so it is a |Maybe| value.%0A test case printing out some common attributes./ The echo and noecho routines control whether characters typed by the user are echoed by getch as they are typed. Echoing by the tty driver is always disabled, but ini- tially getch is in echo mode, so characters typed are echoed. Authors of most interactive programs prefer to do their own echoing in a controlled area of the screen, or not to echo at all, so they disable echoing by calling noecho. [See curs_getch(3) for a discussion of how these routines interact with cbreak and nocbreak.]0  The program must call endwin for each terminal being used before exiting from curses.1,Copy blanks to every position in the screen.5(Read a single character from the window.7#Get the current cursor coordinates.8  The getch, wgetch, mvgetch and mvwgetch, routines read a character from the window.<<< does all initialization necessary for a Curses application.=curses support color attributes on terminals with that capability. To use these routines start_color must be called, usually right after initscr. Colors are always used in pairs (referred to as color-pairs). A color-pair consists of a foreground color (for characters) and a background color (for the blank field on which the charac- ters are displayed). A programmer initializes a color- pair with the routine init_pair. After it has been ini- tialized, COLOR_PAIR(n), a macro defined in  curses.h(, can be used as a new video attribute.If a terminal is capable of redefining colors, the pro- grammer can use the routine init_color to change the defi- nition of a color.The init_pair routine changes the definition of a color- pair. It takes three arguments: the number of the color- pair to be changed, the foreground color number, and the background color number. For portable applications:The value of the first argument must be between 1 and COLOR_PAIRS-1.The value of the second and third arguments must be between 0 and COLORS (the 0 color pair is wired to white on black and cannot be changed).>> is normally the first curses routine to call when initializing a program. curs_initscr(3): To initialize the routines, the routine initscr or newterm must be called before any of the other routines that deal with windows and screens are used. The initscr code determines the terminal type and initial- izes all curses data structures. initscr also causes the first call to refresh to clear the screen. If errors occur, initscr writes an appropriate error message to standard error and exits; otherwise, a pointer is returned to stdscr.? If the intrflush option is enabled, (bf is TRUE), when an interrupt key is pressed on the keyboard (interrupt, break, quit) all output in the tty driver queue will be flushed, giving the effect of faster response to the interrupt, but causing curses to have the wrong idea of what is on the screen. Disabling (bf is FALSE), the option prevents the flush.P)Enable the keypad of the user's terminal.UNormally, the hardware cursor is left at the location of the window cursor being refreshed. The leaveok option allows the cursor to be left wherever the update happens to leave it. It is useful for applications where the cursor is not used, since it reduces the need for cursor motions. If possible, the cursor is made invisible when this option is enabled.X move the cursor associated with the window to line y and column x. This routine does not move the physical cursor of the terminal until refresh is called. The position specified is relative to the upper left-hand corner of the window, which is (0,0). Note that  may be a macro.]A program that outputs to more than one terminal should use the ]' routine for each terminal instead of >. A program that needs to inspect capabilities, so it can continue to run in a line-oriented mode if the terminal cannot support a screen-oriented program, would also use ]. curs_initscr(3X):  The routine newterm should be called once for each terminal. It returns a variable of type SCREEN * which should be saved as a reference to that terminal. newterm's arguments are - the type of the terminal to be used in place of $TERM, - an output stream connected to the terminal, and - an input stream connected to the terminal If the type parameter is NULL, $TERM will be used._ The nl and nonl routines control whether the underlying display device translates the return key into newline on input, and whether it translates newline into return and line-feed on output (in either case, the call addch('\n') does the equivalent of return and line feed on the virtual screen). Initially, these translations do occur. If you disable them using nonl, curses will be able to make bet- ter use of the line-feed capability, resulting in faster cursor motion. Also, curses will then be able to detect the return key.i The raw and noraw routines place the terminal into or out of raw mode. Raw mode is similar to cbreak mode, in that characters typed are immediately passed through to the user program. The differences are that in raw mode, the interrupt, quit, suspend, and flow control characters are all passed through uninterpreted, instead of generating a signal. The behavior of the BREAK key depends on other bits in the tty driver that are not set by curses.k1Refresh curses windows and lines. curs_refresh(3)r/Get the dimensions of the screen (lines, cols).Initialise the color settings. Also sets the screen to the default colors (white on black).The standard screenSet a delay in milliseconds.Do an actual update. Used after endWin on linux to restore the terminal.Manipulate the current attributes of the named window. see curs_attr(3),Draw a border around the edges of a window. )7 is a record representing all 0 parameters to wrecord.  move the cursor associated with the window to line y and column x. This routine does not move the physical cursor of the terminal until refresh is called. The position specified is relative to the upper left-hand corner of the window, which is (0,0).Refresh the specified window, copying the data from the virtual screen to the physical screen.Raw NCurses routine.Raw NCurses routine.8Copy blanks to a window and set clearOk for that window.*Copy blanks to every position in a window.Raw NCurses routine.Stage an update to a window, but don't actually do the refresh until update is called. This allows multiple windows to be updated together more smoothly.+A mapping of curses keys to Haskell values.Data directly available%Data can be obtained by calling getchGet the current cursor coords, written into the two argument ints. The getyx macro places the current cursor position of the given window in the two integer variables y and x.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~    hscurses-1.5.0.0-inplaceUI.HSCurses.LoggingUI.HSCurses.CursesUI.HSCurses.CursesHelperUI.HSCurses.WidgetshscursesUI.HSCurses.CWStringUI.HSCurses.IConvCursesColorPairdebugtraceaddLnattr0attrBold attrBoldOff attrBoldOnattrDim attrDimOff attrDimOnattrOffattrOnattrPlusattrSetbTeebeep bkgrndSetblockboardbulletcBreakcERR cKEY_DOWN cKEY_LEFT cKEY_RIGHTcKEY_UPcTRUEcanChangeColorckBoardclearOkclrToEolcolor colorContent colorPairscolorscursSetcursesSigWinch cursesTestdArrow decodeKeydefaultBackground defaultBorderdefaultForegrounddegree delScreendelWindiamondechoendWineraseerrIflushinpgEqualgetChgetMousegetYXgetchhLine hasColors initColor initCursesinitPairinitScr intrFlush isAltCharsetisBlinkisBoldisDim isHorizontalisInvisisLeftisLow isProtect isReverseisRight isStandoutisTop isUnderline isVertical keyResizeCodekeypadlArrowlEquallTeelanternleaveOkllCornerlrCornermovemvAddCh mvWAddStrnEqualnewPadnewTermnewWinnlnoDelay noqiflushpRefresh pairContentpiplMinusplusrArrowrTeeraw recognizerefresh resetParamsresizeTerminals1s3s7s9scrSize setAltCharsetsetBlinksetBoldsetDim setHorizontalsetInvissetLeftsetLow setProtect setReversesetRight setStandoutsetTop setUnderline setVerticalstandendstandout startColorstdScrsterlingtTee throwIfErr throwIfErr_timeouttouchWinuArrowulCornerungetChupdateurCorneruseDefaultColorsvLinevlinewAddStrwAttrGetwAttrOffwAttrOnwAttrSetwBorder wClrToEolwMovewRefreshwaddch waddchnstrwclearwerasewinschwithAllMouseEventswithMouseEventMask wnoutRefreshAttrBorderblbrbslsrstltrts ButtonEvent ButtonAlt ButtonClicked ButtonControlButtonDoubleClicked ButtonPressedButtonReleased ButtonShiftButtonTripleClickedChTypeCursorVisibilityCursorInvisibleCursorVeryVisible CursorVisibleKeyKeyA1KeyA3KeyB2KeyBTab KeyBackspaceKeyBegKeyBreakKeyC1KeyC3KeyCATabKeyCTab KeyCancelKeyCharKeyClearKeyClose KeyCommandKeyCopy KeyCreateKeyDCKeyDLKeyDownKeyEICKeyEOLKeyEOSKeyEndKeyEnterKeyExitKeyFKeyFindKeyHelpKeyHomeKeyICKeyILKeyLLKeyLeftKeyMark KeyMessageKeyMouseKeyMoveKeyNPageKeyNextKeyOpen KeyOptionsKeyPPage KeyPreviousKeyPrintKeyRedo KeyReference KeyRefresh KeyReplaceKeyReset KeyResize KeyRestart KeyResumeKeyRightKeySBeg KeySCancel KeySCommandKeySCopy KeySCreateKeySDCKeySDLKeySEOLKeySEndKeySExitKeySFKeySFindKeySHelpKeySHomeKeySICKeySLeft KeySMessageKeySMoveKeySNext KeySOptions KeySPrevious KeySPrintKeySRKeySRedo KeySReplace KeySReset KeySRight KeySRsumeKeySSave KeySSuspendKeySTabKeySUndoKeySave KeySelect KeySuspendKeyUndo KeyUnknownKeyUp MouseEventmouseEventButton mouseEventId mouseEventX mouseEventY mouseEventZNBoolScreenWindow $fBitsAttr$fEqAttr$fEqButtonEvent $fEqColor$fEqKey$fEqPair $fIxColor $fOrdColor$fIxPair $fOrdPair $fNumAttr $fShowAttr$fShowButtonEvent $fShowKey$fShowMouseEvent $fShowPair$fStorableAttr$fStorableMouseEventblackbluechangeCursesStyleconvertAttributes convertStylescyan defaultColordefaultCursesStyle defaultStyle displayKey drawCursordrawLineendgetKeygotoTopgreenmagenta mkCursesStylered resetStyleresizeuisetStylestartsuspend wResetStyle wSetStyle wWithStylewhite withCursor withProgram withStyleyellow AttributeBlinkBoldDimReverse UnderlineBackgroundColorBlackBBrownB DarkBlueB DarkCyanB DarkGreenBDarkRedBDefaultBPurpleBWhiteB CursesStyleForegroundColorBlackFBlueF BrightWhiteFBrownFCyanF DarkBlueF DarkCyanF DarkGreenFDarkRedFDefaultFGreenFGreyFMagentaFPurpleFRedFWhiteFYellowFStyleAttributeStyleColorlessStyle $fEqAttribute$fEqBackgroundColor$fEqCursesStyle$fEqForegroundColor $fEqStyle$fShowAttribute$fShowBackgroundColor$fShowCursesStyle$fShowForegroundColor $fShowStyle_activateTableCell_drawactivateEditWidget addToHistoryalign alignRowsdefaultDrawingStyledefaultEWOptionsdefaultTBWOptionsdefaultTWOptionsdeleteAtdrawEditWidgetdrawTableWidgetdrawTextWidgeteditWidgetDeleteLefteditWidgetDeleteLeft'editWidgetDeleteToEndeditWidgetDeleteToEnd'editWidgetDeleteUnderCursoreditWidgetDeleteUnderCursor'editWidgetFinisheditWidgetGetContenteditWidgetGetOptionseditWidgetGoEndeditWidgetGoEnd'editWidgetGoHomeeditWidgetGoHome'editWidgetGoLefteditWidgetGoLeft'editWidgetGoRighteditWidgetGoRight'editWidgetHistoryeditWidgetHistoryDowneditWidgetHistoryDown'editWidgetHistoryUpeditWidgetHistoryUp'editWidgetKeyHandlerseditWidgetSetContenteditWidgetSetOptions ew_contentPosfindFirstActiveCellfindNextActiveCell getCellInfo getCellWidget getHeightgetWidth getXOffsetgetXPos getYOffsetgetYPosisActive joinLists listReplacemaxHistoryLengthmkDrawingStyle mkKeyHandler newEditWidgetnewTableWidget newTextWidgetscrollBackwardscrollBy scrollFactor scrollForward setCellWidget singletonRow splitListtableWidgetActivateCurrenttableWidgetDeleteRowtableWidgetDisplayInfotableWidgetGoDowntableWidgetGoLefttableWidgetGoRighttableWidgetGoUptableWidgetMakeVisibletableWidgetMovetableWidgetScrollDowntableWidgetScrollUptextWidgetGetTexttextWidgetScrollDowntextWidgetScrollLefttextWidgetScrollRighttextWidgetScrollUptextWidgetSetText ActiveWidgetactivateContDone DirectionDirDownDirLeftDirRightDirUp DrawingHintDHActiveDHFocusDHNormal DrawingStyleDStyle dstyle_active dstyle_focus dstyle_normal EditWidget ew_content ew_historyew_historyIndexew_historySavedContent ew_options ew_xcursor ew_xoffsetEditWidgetOptions EWOptionsewopt_keyHandlersewopt_minWidth ewopt_style EmptyWidgetFillRowFirstLastNone HAlignment AlignCenter AlignLeft AlignRight KeyHandlerOffset OpaqueWidgetPosRowSize TableCellActiveTableCell TableWidget tbw_colOffset tbw_optionstbw_postbw_rowsTableWidgetDisplayInfoTBWDisplayInfotbwdisp_firstVistbwdisp_heighttbwdisp_heightstbwdisp_lastVis tbwdisp_nrowstbwdisp_rightMargin tbwdisp_rows tbwdisp_widthtbwdisp_widthsTableWidgetOptions TBWOptionstbwopt_activeColstbwopt_fillColtbwopt_fillRowtbwopt_minSize TextWidget tw_optionstw_text tw_xoffset tw_yoffsetTextWidgetOptions TWOptions twopt_halign twopt_size twopt_styleTextWidgetSize TWSizeDefault TWSizeFixedWidgetdrawminSize$fActiveWidgetEditWidget$fWidgetEditWidget $fEqDirection$fEqDrawingHint$fEqDrawingStyle $fEqFillRow$fEqHAlignment$fEqTableWidgetOptions$fEqTextWidget$fEqTextWidgetOptions$fEqTextWidgetSize$fOrdDirection$fOrdDrawingHint$fShowDirection$fShowDrawingHint$fShowDrawingStyle $fShowFillRow$fShowHAlignment$fShowTableWidgetOptions$fShowTextWidget$fShowTextWidgetOptions$fShowTextWidgetSize$fWidgetEmptyWidget$fWidgetOpaqueWidget$fWidgetTableCell$fWidgetTableWidget$fWidgetTextWidget newLCStringnewLCStringLen newUTF8StringnewUTF8StringLen peekLCStringpeekLCStringLenpeekUTF8StringpeekUTF8StringLen withLCStringwithLCStringLenwithUTF8StringwithUTF8StringLenc_iconv c_iconv_close c_iconv_open cuni_charsetdo_iconverr_ptr from_unicode from_unicode_iconviconv_ iconv_close iconv_open outbuf_size peek_cunithrow_if_not_2_big to_unicode to_unicode_ with_cuni with_iconvIConvmove_c BufDirect DataViaGetch nomacro_getyx colorsToPairs convertBg