Articles of ncurses

Linux:pipe入Python(ncurses)脚本,stdin和termios

显然,这几乎是“ 糟糕的pipe道filedescriptor从Python中的标准input读取时重复- Stack Overflow ”; 不过,我认为这个情况稍微复杂一些( 而且这不是Windows特有的,因为这个线程的结论是 )。 我正在尝试在Python中使用一个简单的脚本:我想为脚本提供input – 通过命令行参数; 或者通过将一个string“pipe”到这个脚本中 – 并使脚本使用cursesterminal接口显示这个inputstring。 完整的脚本,在这里被称为testcurses.py ,如下所示。 问题是,每当我尝试实际的pipe道,似乎搞乱标准input, curses窗口永远不会显示。 这是一个terminal输出: ## CASE 1: THROUGH COMMAND LINE ARGUMENT (arg being stdin): ## $ ./testcurses.py – ['-'] 1 stdout/stdin (obj): <open file '<stdout>', mode 'w' at 0xb77dc078> <open file '<stdin>', mode 'r' at 0xb77dc020> stdout/stdin (fn): 1 0 […]

terminalresize时,Ncurses程序将退出

当我调整我的terminal窗口,下面的程序退出。 为什么以及如何阻止它? #include <ncurses.h> #include <unistd.h> int main () { initscr (); printw ("Some text\n"); refresh (); sleep (100); endwin (); return 0; }

什么ncurses框架可用于BASH?

是否有一些更多的文本用户界面(TUI)bash框架(除此之外)? : http : //code.google.com/p/bashsimplecurses/ 我想采取用户input(数据input) 处理条目

在Linux上使用ncurses时未定义的引用

我试图开始在Linux上使用ncurses开发一个程序。 我甚至无法得到Hello World示例来编译。 代码如下: #include <curses.h> int main() { initscr(); printw("Hello, world."); refresh(); getch(); endwin(); return 0; } 当我试图编译时,我得到: hello.c:(.text+0x12): undefined reference to `initscr' 对于所谓的function中的每一个。 我通过apt-get安装了ncurses,还通过下载源代码和编译,安装等 我已经尝试#include curses.h和ncurses.h 。 到底是怎么回事?

使用比窗口更多的行与ncurses

我最近被引入到asynchronous键盘键监听的ncurses ,并与它相处得很好。 我面临的一个问题是,您只能在可见屏幕上显示文本,而不是滚动条。 我想知道是否有可能继续使用ncurses因为它是如此可爱,但有程序仍然保持滚动条,而不是到最后一行,留在那里。

gcc / usr / bin / ld:错误:找不到-lncurses

我正在运行Ubuntu 12.04,目前我正在开发一个涉及C,OpenGL,茶壶和input法的项目。 当我决定把箭头键作为input时,问题就开始了。 我检查了箭头键的关键代码,但所有的箭头返回0.我抬头如何得到这个工作,我发现conio.h。 不幸的是,这是一个旧的DOS头,不适用于Linux。 然后我find了一个叫做ncurses的替代品。 在安装必要的库之后,紧跟着构build指令,我在main.c源文件中包含curses.h。 当我第一次尝试使用gcc编译时,出现以下错误: main.o:main.c:function _Key: error: undefined reference to 'stdscr' main.o:main.c:function _Key: error: undefined reference to 'wgetch' main.o:main.c:function _Key: error: undefined reference to 'stdscr' main.o:main.c:function _Key: error: undefined reference to 'wgetch' 我通过添加-lncurses到makefile来find一个修复程序,如下所示: SOURCES=main.c main: main.o gcc -lm -lGL -lGLU -lglut -lncurses main.o -o main main.o: main.c gcc -lm -lGL -lGLU […]

如何使ncurses在C中正确显示UTF-8字符?

我有一个使用ncurses编写的程序。 它让用户input并显示它。 如果用户inpututf8字符,则不能正确显示。 我保存了字符用户input到一个文件。 我直接在Shell中cat这个文件,它显示正确。 我search了stackoverflow和谷歌,并尝试了几种方法,如与ncursesw链接,显示不正确。 而我ldd /usr/bin/screen : libncurses.so.5 => /usr/lib64/libncurses.so.5 screen可以正确显示用户input的内容。 如何使ncurses正确显示UTF-8字符? 使用ncurses在C中显示UTF-8字符的一般方法是什么?

鼠标在NCurses中的移动事件

我想知道在NCurses中是否有鼠标移动事件,以及是否有办法抓住它们。 在与鼠标接口之后(来自NCurses编程HOWTO ),似乎通过在调用mousemask ,可以确实捕获鼠标移动事件。 所以,我试了一下,似乎没有工作。 我有这样的东西: int ch, count=0; mmask_t old; initscr (); noecho (); cbreak (); mousemask (ALL_MOUSE_EVENTS | REPORT_MOUSE_POSITION, &old); keypad (stdscr, TRUE); while ((ch = getchar ()) != 'q') { count++; if (ch == KEY_MOUSE) { MEVENT event; assert (getmouse (&event) == OK); mvprintw (0, 0, "Mouse Event!\n"); } mvprintw (1, 1, […]

在Linuxterminal应用程序中接收按键和键释放事件?

我想写一个简单的C程序,它将根据“关键”事件和“关键事件”执行不同的操作。 这个程序将从rxvt内部运行。 我应该使用什么样的库或机制来访问按键和版本? 阅读/dev/tty只会提供密钥发布是真的吗? termcap,terminfo,ncurses和slang也是这样吗? 有没有办法从terminal应用程序内实现这一点?

非阻塞getch(),ncurses

我有一些问题得到ncurses的getch()来阻止。 默认操作似乎是非阻塞的(或者我错过了一些初始化)? 我希望它在Windows中像getch()一样工作。 我曾尝试过各种版本的 timeout(3000000); nocbreak(); cbreak(); noraw(); etc… (并非全部在同一时间)。 如果可能的话,我宁愿不(明确)使用任何WINDOW 。 while循环getch(),检查一个特定的返回值也可以。