问题标签 [blessed]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 受祝福的服务器(Node.js)通过 websocket 到浏览器中的 Xterm.js 客户端
我有的:
- 运行 Blessed 的 Node.js 脚本和 http/websocket 服务器。
- 运行 Xterm.js 和 websocket 客户端的浏览器。
我想做的事:
- 通过 websockets 渲染到 xterm 窗口。
服务器代码:
客户页面:
我遇到的问题是调用 screen.render() 时,客户端上没有显示任何内容。创建我的blessed.screen 时,我尝试使用:
但这也不起作用。在我当前的服务器代码中,我试图欺骗祝福使用connection.send而不是connect.socket.write,因为我认为浏览器websockets只接受'onmessage'事件。像这样:
到目前为止,我所尝试的一切都没有奏效。我在这里做错了什么?或者仅仅是祝福不会与浏览器websockets一起工作。另外,我知道连接正常,因为我可以在两端发送/接收消息。
node.js - 如何阅读 STDIN 并启动祝福终端应用程序?
我正在构建一个 Node.js 应用程序。我正在尝试读取 STDIN 缓冲区,对其进行解析,然后启动我的祝福程序,但如果我尝试读取 STDIN,我的祝福程序会立即关闭。此外,输入不起作用。
这是一个例子:
创建一些应用程序:
运行程序echo something | node index.js
。应用程序正在立即关闭。
node.js - node.js - 如何在不阻塞父进程的标准输入的情况下生成子进程?
我正在节点(和blessed.js)中创建一个交互式CLI,每隔几秒就会产生一个子进程来运行一些Python脚本。这些脚本修改 CLI 从中提取的一组 JSON 文件。
问题是 CLI 必须始终能够接受来自用户的输入,并且当这些子进程产生时,stdin
CLI/父进程的 似乎被阻塞,看起来 Python 脚本正在前台执行. 这是我用来运行 Python 脚本的代码:
我也尝试将脚本作为后台进程运行,即execPythonScript(["path_to_script.py", "&"])
,但无济于事。有任何想法吗?
提前致谢!
更新:
我开始怀疑这是blessed
and not的问题child-process
,因为我已经用尽了所有相关的方法(及其论点)来生成非阻塞后台进程,但问题仍然存在。
默认情况下,每个blessed
实例都process.stdin
用于输入,但我认为stdin
流可能被子进程用完,即使我将它们stdio
设置为“忽略”。所以我尝试使用ttys并实例化blessed.screen
从活动终端(/dev/tty
)而不是/dev/stdin
:
但是还是卡住了...
javascript - 如何使用 Blessed 列表中的搜索选项?
我正在使用 NodeJS 中的祝福应用程序构建终端应用程序。
谁能解释如何使用列表中的搜索选项?
这是我使用的列表对象:
这是我写的听众:
javascript - 如何在 Blessed 中的表单之间导航?
我已经使用 NodeJS 中的祝福包为终端 UI 应用程序编写了代码,该包包含 2 个表单,比如 form1 和 form2,每个表单中都有一些小部件,如列表和复选框。那么如何使用键盘在表单之间导航呢?
目前我可以用鼠标来做,但我怎么能用键盘做呢?
python - 如何在 python blessed/blessings/ncurses 中有 2 个“区域”
我想拖尾一个文件,同时提供一个可以按下的键的覆盖。
如何确保数据将立即显示和更新?我希望它不必一直重绘底部的键。我也不想缓冲尾巴,而是立即看到它们。
基本上,底部的几行应该保留给键。
python - 为什么我的python祝福打印语句不在同一个位置打印?
我正在使用祝福(或祝福)来尝试在 for 循环中的同一位置打印。但是,我发现这仅在我在终端底部上方打印 3 时才有效,但如果我在底部上方打印 1 或两行,它会为每次迭代打印一个新行...
对于 y=term.height-3:
此代码打印:
它对每次迭代都这样做。
但是,如果我将打印位置更改为
with term.location(y=term.height-1):
它这样做
等等等等..这是为什么?
python - Blessed / Curses 控件不适用于 Pyinstaller。缺少 vtwin10
我有一个非常简单的 Python 程序,它使用“Blessed”。在Win10 Python解释器下运行良好,但与Pyinstaller打包时报错,终端控制代码被忽略。这是代码:
字符串“Hello world”应该以亮绿色显示在控制台上。Pyinstaller 完成时没有错误,当我运行 .exe 时,我收到以下消息:
terminal.py:222: UserWarning: 无法设置term(kind='vtwin10'): 找不到终端vtwin10
然后以默认终端颜色显示“Hello world”。
看起来 Pyinstaller 没有在构建中包含解释器发现没有问题的东西。我在我的 Anaconda3 安装文件夹中找到了一个 vtwin10.py 文件:
C:\Anaconda3\Lib\site-packages\jinxed\terminfo
我查看了祝福库的 terminal.py 文件中的引用错误。这是代码:
所以看起来 self._kind 被设置为'vtwin10'。在 terminal.py 中有一个条件导入,如下所示:
(我明白了。)看起来 jinxed 包正在代码中显式导入,并替换了 curses 包。但不知何故,缺少 vtwin10 定义。
我在 jinxed 中找到了 setupterm() 并深入挖掘以找到该错误消息的来源。它在这段代码中:
这就是我卡住的地方。看起来此代码无法在 jinxed 库中找到 vtwin10.py 文件。有谁知道如何强制 Pyinstaller 包含诅咒的 vtwin10 终端定义?我猜这就是问题所在。
非常感谢。
javascript - 无法在 onclick 回调中使用流
我试图在单击每个 UI 框时播放音调。我onclick
添加到框中的事件不起作用。console.log
作品但没有音调。单击ui框时如何播放音调?引用stream
仍然存在,我可以在不接收null
. 溪流也仍然开放。
python - 导入 python 的 Blessed 库会导致正则表达式错误?
我想了解 python 的 Blessed 库,也许做一个基于文本的游戏或一些有用的东西。但无论写什么代码,每当我导入祝福时,我都会收到错误报告。
我尝试了各种代码,包括对其他人有用的完整代码示例,但它总是相同的错误。
这是一些简单的代码,因为它似乎并不重要......
这是错误..
我显然已经尝试过谷歌搜索,但没有人发现有这个问题,只是其他我不知道应用于此实例的转义代码错误。我尝试通过这些文件跟踪异常,但它们的内容超出了我的水平(而且我无权更改它们,这是最好的)。
我正在运行 ubuntu 14.04,默认安装了 python 3.7.8 并安装了祝福 1.17.8。
请帮助我确定导致此错误的原因。