packages feed

vty-5.9: test.hs

import Control.Exception (bracket)
import Graphics.Vty

main :: IO ()
main =
  bracket (mkVty mempty) shutdown $ \vty ->
    do a <- supportsBell (outputIface vty)
       update vty (picForImage (string defAttr $ show a))
       loop vty 

loop :: Vty -> IO ()
loop vty =
  do ev <- nextEvent vty 
     case ev of
       EvKey KEsc        _ -> return ()
       EvKey (KChar 'p') _ -> putStrLn "bad news" >> loop vty 
       EvKey (KChar 'l') _ -> refresh vty         >> loop vty
       EvKey (KChar 'b') _ -> ringTerminalBell (outputIface vty) >> loop vty
       _                   -> loop vty