Documentation ¶
Overview ¶
Package pty provides functions for working with Unix terminals.
Index ¶
- Constants
- Variables
- func Getsize(t *os.File) (rows, cols int, err error)
- func InheritSize(pty, tty *os.File) error
- func Open() (pty, tty *os.File, err error)
- func Setsize(t *os.File, ws *Winsize) error
- func Start(cmd *exec.Cmd) (*os.File, error)
- func StartWithAttrs(c *exec.Cmd, sz *Winsize, attrs *syscall.SysProcAttr) (*os.File, error)
- func StartWithSize(cmd *exec.Cmd, ws *Winsize) (*os.File, error)
- type Winsize
Constants ¶
const ( TIOCGWINSZ = syscall.TIOCGWINSZ TIOCSWINSZ = syscall.TIOCSWINSZ )
Variables ¶
ErrUnsupported is returned if a function is not available on the current platform.
Functions ¶
func Getsize ¶
Getsize returns the number of rows (lines) and cols (positions in each line) in terminal t.
func InheritSize ¶
InheritSize applies the terminal size of pty to tty. This should be run in a signal handler for syscall.SIGWINCH to automatically resize the tty when the pty receives a window size change notification.
func Start ¶
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.
Starts the process in a new session and sets the controlling terminal.
func StartWithAttrs ¶
StartWithAttrs 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 if a size is provided. The `attrs` parameter overrides the one set in c.SysProcAttr.
This should generally not be needed. Used in some edge cases where it is needed to create a pty without a controlling terminal.
func StartWithSize ¶
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. Starts the process in a new session and sets the controlling terminal.