terminfo-0.3: System/Console/Terminfo/Effects.hs
-- |
-- Maintainer : judah.jacobson@gmail.com
-- Stability : experimental
-- Portability : portable (FFI)
module System.Console.Terminfo.Effects(
-- * Bell alerts
bell,visualBell,
-- * text effects
withStandout,withUnderline,
enterStandoutMode,
exitStandoutMode,
enterUnderlineMode,
exitUnderlineMode
) where
import System.Console.Terminfo.Base
wrapWith :: Capability TermOutput -> Capability TermOutput
-> Capability (TermOutput -> TermOutput)
wrapWith start end = do
s <- start
e <- end
return (\t -> s <#> t <#> e)
withStandout :: Capability (TermOutput -> TermOutput)
withStandout = wrapWith enterStandoutMode exitStandoutMode
withUnderline :: Capability (TermOutput -> TermOutput)
withUnderline = wrapWith enterUnderlineMode exitUnderlineMode
enterStandoutMode :: Capability TermOutput
enterStandoutMode = tiGetOutput1 "smso"
exitStandoutMode :: Capability TermOutput
exitStandoutMode = tiGetOutput1 "rmso"
enterUnderlineMode :: Capability TermOutput
enterUnderlineMode = tiGetOutput1 "smul"
exitUnderlineMode :: Capability TermOutput
exitUnderlineMode = tiGetOutput1 "rmul"
bell :: Capability TermOutput
bell = tiGetOutput1 "bel"
visualBell :: Capability TermOutput
visualBell = tiGetOutput1 "flash"