codecamp

IO.js TTY

Stability: 2 - Stable

tty模块主要提供了tty.ReadStreamtty.WriteStream这两个类。大多数情况下,你都不需要直接使用这个模块。

io.js检测到它运行于TTY上下文中,那么process.stdin将会是一个tty.ReadStream实例,process.stdout将会是一个tty.WriteStream实例。测试io.js是否运行在TTY上下文中的一个比较好的办法是检查process.stdout.isTTY

$ iojs -p -e "Boolean(process.stdout.isTTY)"
true
$ iojs -p -e "Boolean(process.stdout.isTTY)" | cat
false

tty.isatty(fd)

如果fd关联了终端,就返回true,反之返回false

tty.setRawMode(mode)

已弃用。使用tty.ReadStream#setRawMode()(如process.stdin.setRawMode())代替。

Class: ReadStream

一个net.Socket子类,代表了一个TTY中的可读部分。一般情况下,在任何io.js程序(仅当isatty(0)true时)中,process.stdin将是仅有的tty.ReadStream实例。

rs.isRaw

一个被初始化为false的布尔值。它代表了tty.ReadStream实例的“原始”状态。

rs.setRawMode(mode)

mode必须为truefalse。它设定tty.ReadStream的属性表现得像原始设备或默认值。isRaw将会被设置为结果模式(resulting mode)。

Class: WriteStream

一个net.Socket子类,代表了一个TTY中的可写部分。一般情况下,在任何io.js程序(仅当isatty(1)true时)中,process.stdout将是仅有的tty.WriteStream实例。

ws.columns

一个表示了TTY当前拥有列数的数字。这个属性会通过resize事件被更新。

ws.rows

一个表示了TTY当前拥有行数的数字。这个属性会通过resize事件被更新。

Event: 'resize'

  • function () {}

当列属性或行属性被改变时,通过refreshSize()被触发。

process.stdout.on('resize', function() {
  console.log('screen size has changed!');
  console.log(process.stdout.columns + 'x' + process.stdout.rows);
});
IO.js TLS/SSL
IO.js UDP/Datagram
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }