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

No packages published

Languages

  • C++ 66.8%
  • JavaScript 33.2%