Skip to content
forked from chjj/pty.js

Bindings to forkpty(3) for node.js.

License

Notifications You must be signed in to change notification settings

jeremyramin/pty.js

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pty.js

forkpty(3) bindings for node.js. This allows you to fork processes with pseudo terminal file descriptors. It returns a terminal object which allows reads and writes.

This is useful for:

  • Writing a terminal emulator.
  • Getting certain programs to think you're a terminal. This is useful if you need a program to send you control sequences.

Example Usage

var pty = require('pty.js');

var term = pty.spawn('bash', [], {
  name: 'xterm-color',
  cols: 80,
  rows: 30,
  cwd: process.env.HOME,
  env: process.env
});

term.on('data', function(data) {
  console.log(data);
});

term.write('ls\r');
term.resize(100, 40);
term.write('ls /\r');

console.log(term.process);

Todo

  • Add tcsetattr(3), tcgetattr(3).
  • Add a way of determining the current foreground job for platforms other than Linux and OSX/Darwin.

Contribution and License Agreement

If you contribute code to this project, you are implicitly allowing your code to be distributed under the MIT license. You are also implicitly verifying that all code is your original work. </legalese>

License

Copyright (c) 2012-2015, Christopher Jeffrey (MIT License).

About

Bindings to forkpty(3) for node.js.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 51.0%
  • JavaScript 45.1%
  • Python 3.2%
  • Makefile 0.7%