terminal-size-0.3.0: Get terminal window height and width

Safe HaskellNone
LanguageHaskell2010

System.Console.Terminal.Size

Description

Get terminal window height and width without ncurses dependency

Based on answer by Andreas Hammar at http://stackoverflow.com/a/12807521/972985

Synopsis

Documentation

data Window a Source

Terminal window width and height

Constructors

Window 

Fields

height :: !a
 
width :: !a
 

Instances

size :: Integral n => IO (Maybe (Window n)) Source

Get terminal window width and height for stdout.

>>> import System.Console.Terminal.Size
>>> size
Just (Window {height = 60, width = 112})

fdSize :: Integral n => Fd -> IO (Maybe (Window n)) Source

Not available on Windows: Get terminal window width and height for a specified file descriptor. If it's not attached to a terminal then Nothing is returned.

>>> import System.Console.Terminal.Size
>>> import System.Posix
>>> fdSize stdOutput
Just (Window {height = 56, width = 85})
>>> fd <- openFd "foo" ReadWrite (Just stdFileMode) defaultFileFlags
>>> fdSize fd
Nothing

hSize :: Integral n => Handle -> IO (Maybe (Window n)) Source

Not available on Windows: Same as fdSize, but takes Handle instead of Fd (file descriptor).

>>> import System.Console.Terminal.Size
>>> import System.IO
>>> hSize stdout
Just (Window {height = 56, width = 85})