Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
- newtype Pty = Pty (ManagedPtr Pty)
- class GObject o => IsPty o
- toPty :: (MonadIO m, IsPty o) => o -> m Pty
- noPty :: Maybe Pty
- ptyChildSetup :: (HasCallStack, MonadIO m, IsPty a) => a -> m ()
- ptyClose :: (HasCallStack, MonadIO m, IsPty a) => a -> m ()
- ptyGetFd :: (HasCallStack, MonadIO m, IsPty a) => a -> m Int32
- ptyGetSize :: (HasCallStack, MonadIO m, IsPty a) => a -> m (Int32, Int32)
- ptyNewForeignSync :: (HasCallStack, MonadIO m, IsCancellable a) => Int32 -> Maybe a -> m Pty
- ptyNewSync :: (HasCallStack, MonadIO m, IsCancellable a) => [PtyFlags] -> Maybe a -> m Pty
- ptySetSize :: (HasCallStack, MonadIO m, IsPty a) => a -> Int32 -> Int32 -> m ()
- ptySetUtf8 :: (HasCallStack, MonadIO m, IsPty a) => a -> Bool -> m ()
- ptySpawnFinish :: (HasCallStack, MonadIO m, IsPty a, IsAsyncResult b) => a -> b -> m Int32
- constructPtyFd :: IsPty o => Int32 -> IO (GValueConstruct o)
- getPtyFd :: (MonadIO m, IsPty o) => o -> m Int32
- constructPtyFlags :: IsPty o => [PtyFlags] -> IO (GValueConstruct o)
- getPtyFlags :: (MonadIO m, IsPty o) => o -> m [PtyFlags]
Exported types
Pty (ManagedPtr Pty) |
Methods
childSetup
close
:: (HasCallStack, MonadIO m, IsPty a) | |
=> a |
|
-> m () |
Deprecated: (Since version 0.42)
Since 0.42 this is a no-op.
getFd
:: (HasCallStack, MonadIO m, IsPty a) | |
=> a |
|
-> m Int32 | Returns: the file descriptor of the PTY master in |
No description available in the introspection data.
getSize
Reads the pseudo terminal's window size.
If getting the window size failed, error
will be set to a IOError
.
newForeignSync
:: (HasCallStack, MonadIO m, IsCancellable a) | |
=> Int32 |
|
-> Maybe a |
|
-> m Pty | Returns: a new |
newSync
:: (HasCallStack, MonadIO m, IsCancellable a) | |
=> [PtyFlags] |
|
-> Maybe a |
|
-> m Pty | Returns: a new |
Allocates a new pseudo-terminal.
You can later use fork()
or the spawnAsync
family of functions
to start a process on the PTY.
If using fork()
, you MUST call ptyChildSetup
in the child.
If using spawnAsync
and friends, you MUST either use
ptyChildSetup
directly as the child setup function, or call
ptyChildSetup
from your own child setup function supplied.
When using terminalSpawnSync
with a custom child setup
function, ptyChildSetup
will be called before the supplied
function; you must not call it again.
Also, you MUST pass the SpawnFlagsDoNotReapChild
flag.
setSize
:: (HasCallStack, MonadIO m, IsPty a) | |
=> a |
|
-> Int32 |
|
-> Int32 |
|
-> m () | (Can throw |
Attempts to resize the pseudo terminal's window size. If successful, the
OS kernel will send SIGWINCH
to the child process group.
If setting the window size failed, error
will be set to a IOError
.
setUtf8
:: (HasCallStack, MonadIO m, IsPty a) | |
=> a |
|
-> Bool |
|
-> m () | (Can throw |
Tells the kernel whether the terminal is UTF-8 or not, in case it can make use of the info. Linux 2.6.5 or so defines IUTF8 to make the line discipline do multibyte backspace correctly.
spawnFinish
:: (HasCallStack, MonadIO m, IsPty a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m Int32 | (Can throw |
No description available in the introspection data.
Since: 0.48
Properties
fd
constructPtyFd :: IsPty o => Int32 -> IO (GValueConstruct o) Source #
flags
constructPtyFlags :: IsPty o => [PtyFlags] -> IO (GValueConstruct o) Source #