cabal-version: 2.4 -- Initial package description 'tui.cabal' generated by 'cabal init'. For -- further documentation, see http://haskell.org/cabal/users-guide/ name: lambox version: 0.1.0.0 synopsis: Text User Interface library for Haskell description: LamBox is a package built around the haskell ncurses bindings library to provide a high level tool that allows the creation of simple static or dynamic terminal based text user interfaces. Its main purpose is to streamline the process of creating a user interface and eliminate a lot of the boilerplate required to get ncurses up and running. . Much of this library acts within the @ncurses@ 'Curses' monad, which in itself is a wrapper around 'IO'. The purpose of this library is to provide a higher level wrapper around @ncurses@ to remove much of the boilerplate required to set up a tui, and to make building a tui a bit simpler. This library is meant to be used in conjuction with @ncurses@, as importing 'UI.NCurses' is required to use the 'Event' type, for instance. . Example: . @ {-# LANGUAGE OverloadedStrings #-} . module Main where . import UI.NCurses (Event(..)) import UI.Lambox . main :: IO () main = lambox $ do (box1,box2) <- do (b1,b2) <- splitBox config Vertical 0.5 nb1 <- withBox b1 [ setTitle (Just title) , writeStr 2 2 "Hello World!" ] nb2 <- writeStr' b2 2 2 "Press 'q' to quit!" pure (nb1, nb2) update waitForGlobal (== EventCharacter 'q') deleteBoxes [box1, box2] where title = Title "LamBox" AlignTop AlignRight config = Config 2 2 22 10 (BoxAttributes Line Nothing) "" @ . license: Zlib license-file: LICENSE author: grinshpon maintainer: grinshpondaniel@protonmail.com copyright: 2019 Daniel Grinshpon category: Development extra-source-files: CHANGELOG.md library exposed-modules: UI.Lambox UI.Lambox.Widgets UI.Lambox.Internal.Types other-modules: UI.Lambox.Internal.Util -- other-extensions: build-depends: base ^>=4.12.0.0 , ncurses >= 0.2.16 && < 0.3 , text >= 1.2.3 && < 1.3 hs-source-dirs: src ghc-options: -Wall -O2 default-language: Haskell2010 executable test main-is: Main.hs -- other-modules: -- other-extensions: build-depends: base ^>=4.12.0.0 , lambox , ncurses >= 0.2.16 && < 0.3 hs-source-dirs: test ghc-options: -Wall -O2 default-language: Haskell2010 source-repository head type: git location: https://github.com/Grinshpon/lambox