问题标签 [ncurses]

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.

0 投票
1 回答
384 浏览

c++ - 使用 stdscr (ncurses) 时的链接器警告

好的,所以每当我尝试在 pdcurses 中使用 stdscr 时,我都会收到这些警告:

我该如何解决?它们只是警告,但是当我运行我的程序时,它会崩溃,所以它们可能与它有关。特别是考虑到它崩溃的线路是使用 stdscr 的线路......

0 投票
2 回答
6901 浏览

c - 使用 ncurses 获取显示中的文本

有什么方法可以取回输出到 ncurses 上的变量中的字符?

假设我这样做:

那么我希望能够:

我需要一个函数将屏幕上的所有字符取回一个变量,scr_dump get 关闭但输出格式不可读..

0 投票
2 回答
1846 浏览

perl - 我在哪里可以找到一本关于使用 perl 编写 curses 应用程序的好书?

我一直在寻找编写 curses 应用程序的好方法。到目前为止,我已经找到了 Curses::UI 和 Curses::Toolkit,但是它们都不像我希望的那样具有可塑性。现在我正在寻找只用 Curses 本身编写我的应用程序,并在此过程中了解它!有没有好书/教程/等。那会教我用 Curses 和 Perl 编写应用程序的胆量吗?(我不介意它是否是用另一种语言编写的,比如 C,只要我能把我读到的东西翻译成 Perl,就可以了!)

谢谢,

0 投票
1 回答
2059 浏览

c - 如何修改 linux 控制台中的键盘重复延迟,有或没有 ncurses

我正在用 ncurses 和 C 编写一个小乒乓克隆。我需要找到一种方法来设置键盘重复延迟,以使玩家更容易移动球拍,否则他们会卡住按下向下键并等待大约 50 毫秒直到钥匙开始重复。

我检查了 ncurses 手册页和文档,我似乎找不到任何关于更改键盘重复延迟的参考,而且程序 kbdrate 也不适合我使用,因为问游戏会有点奇怪以root身份运行。

谢谢,伊曼纽尔

0 投票
3 回答
2655 浏览

python - ncurses 和白底黑字

在彩色模式下,我似乎无法让黑底白字在诅咒中工作。如果我不打电话start_color,我会得到白底黑字。我一打电话start_color,事情就开始以黑底灰输出。

如果您运行此脚本:

...您可能会看到很多漂亮的颜色。我想要但无法得到的是最后一行:“……这很正常。” 要求颜色对 0 或要求 COLOR_WHITE,COLOR_BLACK 让我从脚本中得到不亮的 #37。

作为参考,这是我在 Gnome 终端中看到的:

http://rpi.edu/~wellir/random/colors.png

我正在用 Python 编程(使用 curses 库),所以我的代码类似于:

...这让我有 37、37-bright 和 37。

0 投票
2 回答
701 浏览

c - C - 从 ncurses ui 到外部程序并返回

我正在制作一个程序,在 ncurses 中显示一些信息,然后打开 vim(使用system)以允许用户编辑文件。但是,退出 vim 后,ncurses 屏幕不会重绘。 不要做任何事情,导致我漂亮的菜单完全被破坏refreshwrefresh

所以,我被送回命令行。当我移动到菜单项时,它们会重新绘制。稍微移动一下会得到如下所示的结果:

悲剧

如您所见,我不再处于我漂亮的 ncurses 环境中。

我可以完全拆除 ncurses 并重新设置,但是某些东西(如菜单位置)不会被保留。

我该如何正确地做到这一点?有没有更好的方法来调用一些外部程序并优雅地返回这里?

0 投票
0 回答
406 浏览

c - 诅咒键盘在 def_prog_mode 和 reset_prog_mode 后不起作用,刷新

我正在尝试通过调用从我的 ncurses UI 转到编辑器system,然后再返回。在几位友好的程序员的帮助下我学会了如何使用def_prog_moderefresh在用户从编辑器返回后恢复终端 UI 的状态。

所以我的代码看起来像这样:

这很好地恢复了我的 UI,但通常情况下,我的程序不再接受或响应键盘输入。我不确定在什么情况下会发生这种情况,但大多数情况下都会发生。

这似乎与此处的问题相似,但所描述的修复(keypad再次调用)似乎不起作用。

0 投票
1 回答
1731 浏览

cursor - 在 ncurses 光标和线程方面需要帮助

我正在使用 ncurses 在 C 中编写基于文本的客户端。程序的主循环只是阻塞,直到检测到按键,然后处理它并继续等待另一个按键。

我启动了一个线程(在下面发布),它阻塞(使用 select)等待来自服务器的输入,当它接收到它时,它会将其添加到聊天日志缓冲区并将缓冲区打印到屏幕上。它完美地工作。

我知道 ncurses 不是线程安全的,但我对线程的理解是,只要我 100% 确定一次只有一个线程调用 ncurses,它就可以正常工作。

我的问题是光标位置。

它是用该行修改的,move(height+1, curx); 无论我传递给它什么值,ncurses 似乎完全忽略了调用并将我的光标放在不同的位置。我似乎无法影响它。

为了进一步解释这个问题,在我的主线程(按键循环)中,我使用了相同的互斥锁。当光标在这些代码部分中更新时,它会按计划工作。当它从下面的接收线程更新时,游标调用被忽略。

有任何想法吗?

receive thread

0 投票
1 回答
2526 浏览

terminal - 使用 Ncurses 打印双倍大小的字符

许多终端仿真器(xterm、Konsole)支持双倍大小的字符。Ncurses 不支持这一点,据我所知,ncurses 不会打印转义字符(\033 将被取消转义并以明文形式打印)。

是否可以在 ncurses 应用程序中打印双倍大小的字符?

0 投票
3 回答
18648 浏览

c - 将 ncurses 静态链接到程序

我在将 ncurses 静态链接到我的一个程序时遇到了一些问题

这是一个非常简单的示例程序:

当我编译它时

我收到这些错误:

我有点困惑为什么这不起作用。我在这里想念什么?