标签: blessed

通过WebSocket向浏览器中的Xterm.js客户端提供祝福的服务器(Node.js)

是)我有的:

  • 运行Blessed的Node.js脚本和http / websocket服务器。
  • 运行Xterm.js和websocket客户端的浏览器。

我想做的事:

  • 渲染祝福到websockets上的xterm窗口。

服务器代码:

"use strict";

process.title = 'neosim-server';

var blessed = require('neo-blessed');
var contrib = require('blessed-contrib');
var webSocketServer = require('websocket').server;
var http = require('http');

const webSocketsServerPort = 8080;
var clients = [ ];

/**
 * HTTP server
 */
var server = http.createServer(function(request, response) {
    // Not important for us. We're writing WebSocket server,
    // not HTTP server
});
server.listen(webSocketsServerPort, function() {
    console.log((new Date()) + " Server is listening on port "
        + webSocketsServerPort + "."); …
Run Code Online (Sandbox Code Playgroud)

javascript websocket node.js blessed xtermjs

8
推荐指数
1
解决办法
556
查看次数

绘制一条始终与其父 BoxElement 一样宽的线?

我正在使用BoxElement来自祝福的显示聊天记录。

使用 来添加句子pushLine。为清楚起见,天数按行划分(使用 添加的另一个字符串pushLine)。每行与父行一样宽BoxElement

但是,如果调整 TUI 的大小,则该线不再适合。

我有两个问题:

  1. 那条线如何适应它的新宽度?
  2. (加分)如何将文本居中放置在该行的中间?

该问题的示例如下所示:

/**
 * Example.ts
 */
import * as blessed from 'blessed';

const screen = blessed.screen({
    smartCSR: true,
    title: 'Chatr',
    dockBorders: true
});

const chatBox = blessed.box({
    parent: screen,
    title: 'Chatbox',
    top: 'top',
    left: 'center',
    height: '100%',
    width: '100%',
    border: {
        type: 'line'
    },
});
screen.append(chatBox);
screen.render();

chatBox.pushLine("This is the first line");

 // This is the separator - and will not …
Run Code Online (Sandbox Code Playgroud)

javascript tui node.js blessed

7
推荐指数
1
解决办法
200
查看次数

祝福:使日志小部件可滚动

我正在使用Blessed库在终端中制作仪表板.

我正在将日志记录到日志窗口小部件中,并希望使窗口小部件可滚动.使用下面的代码,滚动条出现了,但我实际上无法使用鼠标滚轮或拖动滚动条滚动.

var logPanel = blessed.log({
    top: '0',
    left: '0',
    width: '60%',
    height: '100%',
    tags: true,
    border: {
        type: 'line'
    },
    scrollable: true,
    alwaysScroll: true,
      scrollbar: {
        ch: ' ',
        inverse: true
    },
    style: {
        fg: 'green',
        bg: 'black',
        border: {
            fg: '#f0f0f0'
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

如何让滚动条工作?

javascript node.js blessed

6
推荐指数
1
解决办法
688
查看次数

默认情况下,祝福的"提示"是黑色黑色 - 我该如何设计它?

我正在使用祝福,我正在尝试为我的应用程序添加提示.它工作正常,但我无法阅读其文本.我准备了一个最小的例子,说明了我所看到的.

我想知道如何在输入中设置文本样式.文档中提到样式属性似乎没有任何效果.

这就是我所看到的(输入和两个按钮上有文字,但黑色是黑色).

在此输入图像描述

这是使用标准终端和标准主题在Debian 9上重现错误的代码:

var blessed = require('blessed');
var screen = blessed.screen({});

var prompt = blessed.prompt({
    left: 'center',
    top: 'center',
    height: 'shrink',
    width: 'shrink',
    border: 'line',
});

screen.append(prompt);

screen.key(['q', 'C-c'], function quit() {
    return process.exit(0);
});

screen.render();

prompt.input('Search:', 'test', function() {});
Run Code Online (Sandbox Code Playgroud)

javascript blessed

5
推荐指数
1
解决办法
565
查看次数

如何使用blessed / nodejs创建一个可滚动的框

我不知道如何创建一个带有祝福的滚动框。

https://github.com/chjj/blessed

根据文档,它应该像这样:

"use strict";

const blessed = require('blessed');

const screen = blessed.screen({
    smartCSR: true
});

let box = blessed.box({
    top: 0,
    left: 0,
    width: '80%',
    height: '80%',
    style: {
        bg: 'red'
    },
    alwaysScroll:true,
    scrollable: true,
    scrollbar: true
});

screen.append(box);
screen.render();

for (let i = 0; i < 200; i++) {
    box.insertLine(0, 'texting ' + i);
    box.screen.render();
}
Run Code Online (Sandbox Code Playgroud)

框窗口显示,它被填充,但没有滚动条。我想念什么?

javascript terminal user-interface node.js blessed

3
推荐指数
1
解决办法
1148
查看次数