Articles of ncurses

在Linux上使用ncurses的背景颜色

首先在这里发表,所以我道歉的任何错误。 基本上,当我运行我的代码,除了改变背景颜色,一切正常。 由于某种原因,它总是灰色的。 我试图将其更改为黑色,但它不工作,我不知道为什么。 我认为应该改变背景颜色的代码的主要部分是:wattron(mainWindow,COLOR_BLACK); 任何帮助弄清楚如何将我的背景更改为黑色将不胜感激。 多谢你们! 这是我迄今为止的情况,以帮助为我的问题提供一些背景: #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <curses.h> #include <time.h> // Variables int nlines; int ncols; int x; int y; int y0; int x0; int input; // Constants const int MAX_LINES = 10; const int MAX_COLUMNS = 10; // Main function int main(void) { WINDOW * mainWindow; […]

将控制台的全部内容更改为反向video

我用Linux上的ncurses写了一个C语言的小型寻呼机。 因为这个寻呼机只适用于我自己,而且因为我发现整个页面在反向video中阅读文本比较容易,所以我想find一种方法来改变整个屏幕的颜色来反转video,也就是说,不仅仅是直到最后一个字符新队。 类似于emacs和emacs -r命令之间的区别。

游标在input时离开窗口(ncurses)

我正在使用ncurses为我的应用程序做一个简单的TUI。 我得到了创build和打印到窗口的基础知识,但我有input问题。 当我写完时,光标位于我写的string的末尾 但是当我开始input时,光标移动到terminal窗口的左上angular。 如何在input时保持原位? 这是我的代码: #include <ncurses.h> WINDOW *win; int startx, starty, width, height; int cport; WINDOW *makewin(int h, int w, int y, int x) { WINDOW *lwin; lwin = newwin(h, w, y, x); box(lwin, 0 , 0); wrefresh(lwin); return lwin; } void dewin(WINDOW *lwin) { wborder(lwin, ' ', ' ', ' ', ' […]

用ncurses绘制彩色框

我想在控制台中绘制一个填充框,并为每个像素设置颜色。 用ncurses可以实现吗? 如果没有 – 是否还有其他的库可以做到这一点?

使用ncurses包装文本 (在C)

我一直在玩ncurses,我发现在网上处理垫很less有用的信息。 据我所知,垫子是一种更大的窗户外窗户,其中的部分可以在屏幕上的小窗户上打印。 我写了一个程序来在屏幕上打印一个pad的上下文。 问题是,该程序似乎只打印“线到线”,不包裹文字。 该程序的输出是这样的: ABCDEFGHIJ ABCDEFGHIJ ABCDEFGHIJ 但它应该是这样的: ABCDEFGHIJ klmnopqrst uvwxyzabc 在后面的情况下,同一行将“打包”而不是打印多行。 任何ncurses大师可以告诉我如何实现这个包装function? (即魔术?) 询问是否需要进一步的细节,程序的源代码: #include <unistd.h> #include <curses.h> int main() { WINDOW *pad_ptr; int x, y; int pad_lines; int pad_cols; char disp_char; initscr(); pad_lines = LINES + 50; pad_cols = COLS + 50; pad_ptr = newpad(pad_lines, pad_cols); disp_char = 'a'; for(x = 0; […]

用gcc -lncurses标志编译ncurses代码似乎不工作

我正在用ncurses编写一个基于terminal的俄罗斯方块游戏。 我已经将所有的ncurses代码分离到一个名为tetrisUI.c的文件中,我在main.c源文件中包含一个头文件。 当我编译所有的ncurses函数引发编译器错误。 我在源文件中包含了ncurses.h,并且在gcc中使用了-lncurses标志。 我正从一个makefile编译以下内容: Tetris : tetris.o main.o tetrisUI.o gcc tetris.o main.o tetrisUI.o -o Tetris tetrisUI.o : tetrisUI.c gcc -std=c99 -c tetrisUI.c -lncurses tetris.o : tetris.c tetris.h gcc -std=c99 -c tetris.c main.o : main.c tetris.h tetrisUI.h gcc -std=c99 -c main.c 我能用ncurses编译几个简短的testing程序就好了。 这是我第一次尝试使用ncurses和我的第一个重要的c程序(我在学校做了一些c ++)。 我有一个预感,我的问题与我的生成文件有关,但我也是一个小白鼠也使用这些。

在Ubuntu 12.04上设置ncurses库

我从软件中心安装了软件包libncurses5-dev ,然后检查头文件: asheesh@ashrj-U32U:~$ ls -l /usr/include/*curses.h -rw-r–r– 1 root root 76291 Nov 18 2011 /usr/include/curses.h lrwxrwxrwx 1 root root 8 Nov 18 2011 /usr/include/ncurses.h -> curses.h -rw-r–r– 1 root root 12180 Apr 11 2011 /usr/include/slcurses.h 然后,我检查了库文件: asheesh@ashrj-U32U:~$ find /usr/lib/ -name "*curses*" …. /usr/lib/x86_64-linux-gnu/libcurses.a /usr/lib/x86_64-linux-gnu/libncurses.so /usr/lib/x86_64-linux-gnu/libcurses.so /usr/lib/x86_64-linux-gnu/libncurses.a …. 哪些不存在。 我如何安装/制作库文件? 为什么他们与标准包一起设置? 在简单的编译,我得到的错误: asheesh@ashrj-U32U:~$ gcc -o screen1 […]

C – 用ncurses获取中性背景

在这个简单的程序(用C编写) #include <ncurses.h> #include <string.h> int main() { initscr(); printw("line 1\n"); printw("line 2\n"); start_color(); init_pair(1, COLOR_RED, COLOR_BLACK); printw("line 3"); getch(); endwin(); return 0; } 一个红色的文字印在黑色背景上的屏幕上。 但是当我运行这个程序的时候,在Linux(Gnometerminal)中,背景比terminal的黑色背景稍亮。 我不想在terminal的默认黑色颜色上设置背景颜色:我想保留terminal背景,并将ncurses背景设置为透明。 有没有办法做到这一点? 注意:我试图把函数use_default_colors(); start_color(); 就像这个问题所build议的那样,但是没有用。

在initrd中使用ncurses(linux mint 13 – 默认的内核)

我正在修改Mint 13(ubuntu衍生产品)的initrd。 主要想法是我制作的一个程序由本地顶级脚本运行。 也就是说,当内核启动并加载initrd时,我的程序必须在initrd中运行,并在initrd从ram中卸载之前运行。 基本上我想显示窗口和使用一些ncurses lib函数,但我得到一个错误。 我把这个库包含在我的initrd文件中。 我得到的错误是:错误打开terminal:Linux。 也许这里有人有如何解决这个问题的想法?

输出string用c ++覆盖Linuxterminal上的最后一个string

说我有一个命令行程序。 当我说的时候,有没有办法呢? std::cout << stuff 如果我不在另一个std::cout << stuff之间做一个std::cout << '\n' ,另一个std::cout << stuff输出将会从最左边的地方覆盖同一行的最后一行(清理行)柱? 我认为ncurses有能力做到这一点? 如果可能的话,如果我可以说std::cout << std::overwrite << stuff是很好的 std::overwrite是某种iomanip。