pty – github.com/creack/pty Index | Files

package pty

import "github.com/creack/pty"

Package pty provides functions for working with Unix terminals.

Index

Variables

var ErrUnsupported = errors.New("unsupported")

ErrUnsupported is returned if a function is not available on the current platform.

Functions

func Getsize

func Getsize(t *os.File) (rows, cols int, err error)

Getsize returns the number of rows (lines) and cols (positions in each line) in terminal t.

func InheritSize

func InheritSize(master, slave *os.File) error

InheritSize applies the terminal size of master to slave. This should be run in a signal handler for syscall.SIGWINCH to automatically resize the slave when the master receives a window size change notification.

func Open

func Open() (pty, tty *os.File, err error)

Opens a pty and its corresponding tty.

func Setsize

func Setsize(t *os.File, ws *Winsize) error

Setsize resizes t to s.

func Start

func Start(c *exec.Cmd) (pty *os.File, err error)

Start assigns a pseudo-terminal tty os.File to c.Stdin, c.Stdout, and c.Stderr, calls c.Start, and returns the File of the tty's corresponding pty.

func StartWithSize

func StartWithSize(c *exec.Cmd, sz *Winsize) (pty *os.File, err error)

StartWithSize assigns a pseudo-terminal tty os.File to c.Stdin, c.Stdout, and c.Stderr, calls c.Start, and returns the File of the tty's corresponding pty.

This will resize the pty to the specified size before starting the command

Types

type Winsize

type Winsize struct {
	Rows uint16 // ws_row: Number of rows (in cells)
	Cols uint16 // ws_col: Number of columns (in cells)
	X    uint16 // ws_xpixel: Width in pixels
	Y    uint16 // ws_ypixel: Height in pixels
}

Winsize describes the terminal size.

func GetsizeFull

func GetsizeFull(t *os.File) (size *Winsize, err error)

GetsizeFull returns the full terminal size description.

Source Files

doc.go ioctl.go pty_linux.go run.go util.go ztypes_amd64.go

Version
v1.1.3
Published
Sep 15, 2018
Platform
linux/amd64
Imports
6 packages
Last checked
now

Tools for package owners.