From 8e92e6e11d2b3b0bfb5ac9d68f347219493e6380 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kier=C3=A1n=20Meinhardt?= Date: Wed, 23 Sep 2020 17:44:40 +0200 Subject: split into library + executables --- Screen.hs | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 Screen.hs (limited to 'Screen.hs') diff --git a/Screen.hs b/Screen.hs deleted file mode 100644 index 2bf0329..0000000 --- a/Screen.hs +++ /dev/null @@ -1,32 +0,0 @@ -{-# LANGUAGE RecordWildCards #-} -module Screen (Screen(..), setScreen, withScreen) where - -import Control.Exception -import Data.List -import System.IO - -data Screen = Screen - { stdinEcho :: Bool - , stdinBufferMode :: BufferMode - , stdoutBufferMode :: BufferMode - , decsetPm :: [Int] - , decrstPm :: [Int] - } - -setScreen :: Screen -> IO Screen -setScreen Screen{..} = get <* set where - get = Screen <$> hGetEcho stdin - <*> hGetBuffering stdin - <*> hGetBuffering stdout - <*> pure decrstPm - <*> pure decsetPm - set = do - hSetEcho stdin stdinEcho - hSetBuffering stdin stdinBufferMode - hSetBuffering stdout stdoutBufferMode - hPutStr stdout $ "\ESC[?" ++ intercalate ";" (map show decsetPm) ++ "h" - hPutStr stdout $ "\ESC[?" ++ intercalate ";" (map show decrstPm) ++ "l" - hFlush stdout - -withScreen :: Screen -> (Screen -> IO a) -> IO a -withScreen s = bracket (setScreen s) setScreen -- cgit v1.2.3