sneakyterm: Tiny, declarative wrapper around ncurses

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

SneakyTerm gives you MonadTerminal which gives you two operations, tmRender to render a list of tiles, and tmCharEvent to wait for character input. A simple example:

main = do
  let viewport = rectFromOriginAndDim (V2 0 0) (V2 80 25)
  runTerminal viewport $ do
    tmRender [Tile (V2 10 10) '@' (ColorPair Red Blue)]
    _ <- tmCharEvent
    return ()

This will render a red @ at column 11, line 11, with blue background.

Versions [faq] 0.1
Dependencies base (==4.7.*), classy-prelude, containers, lens, linear, mtl, ncurses, transformers [details]
License GPL-3.0-only
Copyright Copyright (C) 2014-2015 Philipp Middendorf
Author Philipp Middendorf
Category User Interfaces
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by pimiddy at 2015-08-10T20:02:46Z
Distributions NixOS:0.1
Downloads 645 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-12-02 [all 5 reports]


  • System
    • Console
      • SneakyTerm
        • System.Console.SneakyTerm.Color
        • System.Console.SneakyTerm.ColorPair
        • System.Console.SneakyTerm.MonadTerminal
        • System.Console.SneakyTerm.PointInt
        • System.Console.SneakyTerm.Rect
        • System.Console.SneakyTerm.Tile


Maintainer's Corner

For package maintainers and hackage trustees