gi-vte-2.91.19: Vte bindings

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

GI.Vte.Objects.Pty

Contents

- Exported types
- Methods
  - childSetup
  - close
  - getFd
  - getSize
  - newForeignSync
  - newSync
  - setSize
  - setUtf8
  - spawnFinish
- Properties
  - fd
  - flags

Description

No description available in the introspection data.

Synopsis

- 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

newtype Pty Source #

Memory-managed wrapper type.

Constructors

Pty (ManagedPtr Pty) |

Instances

GObject Pty Source # |
Instance details Defined in GI.Vte.Objects.Pty Methods gobjectType :: Pty -> IO GType Source #
IsInitable Pty Source # |
Instance details Defined in GI.Vte.Objects.Pty
IsObject Pty Source # |
Instance details Defined in GI.Vte.Objects.Pty
IsPty Pty Source # |
Instance details Defined in GI.Vte.Objects.Pty

class GObject o => IsPty o Source #

Type class for types which can be safely cast to `Pty`, for instance with `toPty`.

Instances

(GObject a, (UnknownAncestorError Pty a :: Constraint)) => IsPty a Source # |
Instance details Defined in GI.Vte.Objects.Pty
IsPty Pty Source # |
Instance details Defined in GI.Vte.Objects.Pty

toPty :: (MonadIO m, IsPty o) => o -> m Pty Source #

Cast to `Pty`, for types for which this is known to be safe. For general casts, use `castTo`.

noPty :: Maybe Pty Source #

A convenience alias for `Nothing` :: `Maybe` `Pty`.

# Methods

## childSetup

ptyChildSetup Source #

Arguments

:: (HasCallStack, MonadIO m, IsPty a) |
=> a | `pty`: a `Pty`
-> m () |

FIXMEchpe

## close

ptyClose Source #

Arguments

:: (HasCallStack, MonadIO m, IsPty a) |
=> a | `pty`: a `Pty`
-> m () |

Deprecated: (Since version 0.42)

Since 0.42 this is a no-op.

## getFd

ptyGetFd Source #

Arguments

:: (HasCallStack, MonadIO m, IsPty a) |
=> a | `pty`: a `Pty`
-> m Int32 | Returns: the file descriptor of the PTY master in `pty`. The file descriptor belongs to `pty` and must not be closed of have its flags changed

No description available in the introspection data.

## getSize

ptyGetSize Source #

Arguments

:: (HasCallStack, MonadIO m, IsPty a) |
=> a | `pty`: a `Pty`
-> m (Int32, Int32) | (Can throw `GError`)

Reads the pseudo terminal's window size.

If getting the window size failed, `error` will be set to a `IOError`.

## newForeignSync

ptyNewForeignSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsCancellable a) |
=> Int32 | `fd`: a file descriptor to the PTY
-> Maybe a | `cancellable`: a `Cancellable`, or `Nothing`
-> m Pty | Returns: a new `Pty` for `fd`, or `Nothing` on error with `error` filled in (Can throw `GError`)

Creates a new `Pty` for the PTY master `fd`.

No entry will be made in the lastlog, utmp or wtmp system files.

Note that the newly created `Pty` will take ownership of `fd` and close it on finalize.

## newSync

ptyNewSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsCancellable a) |
=> [PtyFlags] | `flags`: flags from `PtyFlags`
-> Maybe a | `cancellable`: a `Cancellable`, or `Nothing`
-> m Pty | Returns: a new `Pty`, or `Nothing` on error with `error` filled in (Can throw `GError`)

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

ptySetSize Source #

Arguments

:: (HasCallStack, MonadIO m, IsPty a) |
=> a | `pty`: a `Pty`
-> Int32 | `rows`: the desired number of rows
-> Int32 | `columns`: the desired number of columns
-> m () | (Can throw `GError`)

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

ptySetUtf8 Source #

Arguments

:: (HasCallStack, MonadIO m, IsPty a) |
=> a | `pty`: a `Pty`
-> Bool | `utf8`: whether or not the pty is in UTF-8 mode
-> m () | (Can throw `GError`)

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

ptySpawnFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsPty a, IsAsyncResult b) |
=> a | `pty`: a `Pty`
-> b | `result`: a `AsyncResult`
-> m Int32 | (Can throw `GError`)

No description available in the introspection data.

Since: 0.48

# Properties

## fd

The file descriptor of the PTY master.

constructPtyFd :: IsPty o => Int32 -> IO (GValueConstruct o) Source #

Construct a `GValueConstruct` with valid value for the “`fd`” property. This is rarely needed directly, but it is used by `new`.

getPtyFd :: (MonadIO m, IsPty o) => o -> m Int32 Source #

Get the value of the “`fd`” property. When overloading is enabled, this is equivalent to

    get pty #fd

## flags

Flags.

constructPtyFlags :: IsPty o => [PtyFlags] -> IO (GValueConstruct o) Source #

Construct a `GValueConstruct` with valid value for the “`flags`” property. This is rarely needed directly, but it is used by `new`.

getPtyFlags :: (MonadIO m, IsPty o) => o -> m [PtyFlags] Source #

Get the value of the “`flags`” property. When overloading is enabled, this is equivalent to

    get pty #flags