我正在使用node / npm祝福创建一个监视特定应用程序的屏幕,我希望监视工具看起来像linux top。我认为相对简单(但我无法在任何地方找到答案)的问题是,在启动时以及根据用户输入的特定点清除屏幕。
现在我可以使用祝福正确地绘制屏幕(下面的示例程序),但问题是我需要在启动时清除屏幕(现在第一行输出刚刚启动程序后附加) ):
var blessed = require('blessed');
var screen = blessed.screen(),
body = blessed.box({
top: 0,
left: 0,
width: '100%',
height: '100%',
tags: true
});
var items = [];
screen.append(body);
screen.key(['escape', 'q', 'C-c'], function(ch, key) {
return process.exit(0);
});
function log(text) {
items.push(text);
var MAX = 10;
if( items.length > MAX+1 ){
items.shift();
}
for (var i=1; i<MAX; i++){
body.setLine(i, items[i]);
}
screen.render();
}
function status(text) {
body.setLine(0, text );
screen.render();
}
var counter = 1;
setInterval(function() {
status((new Date()).toISOString());
log('Line number: ' + (counter++));
}, 1000);
答案 0 :(得分:0)
为了完整起见,下面提供了该问题的解决方案,并且非常简单。要清除屏幕,请在程序开头发出以下代码:
screen.render();
我在原帖中引用的示例程序可以修改如下,现在有效:
var blessed = require('blessed');
var screen = blessed.screen(),
body = blessed.box({
top: 0,
left: 0,
width: '100%',
height: '100%',
tags: true
});
// The following line clears the screen
screen.render();
:
: