Skip to content

LearnBoost/pty.js

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 way they're willing to send you escape codes.

Example Usage

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

var term = new Terminal('bash', ['-i'], {
  name: 'xterm-color',
  cols: 80,
  rows: 30,
  cwd: process.env.HOME,
  env: { HELLO: 'WORLD' }
});

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

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

Todo

  • Add tsetattr(3), tcgetattr(3).
  • Add a way of determining the current foreground job.

License

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

About

Bindings to forkpty(3) for node.js

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • C++ 66.8%
  • JavaScript 33.2%