curses init in one line?

Polytropon freebsd at edvax.de
Mon Jan 18 20:21:41 UTC 2010


On Sun, 17 Jan 2010 19:34:29 -0800, Gary Kline <kline at thought.org> wrote:
> 
> 	this is going to sound a bit off the wall, and it may have only worked
> 	in FBSD [if I wasn't imagining it], but is there a way to get into 
> 	curses/ncurses mode in one short line?  it has been years but I think
> 	somebody sent me the magic code, for either a shell scrippt or a C
> 	program.  

It's quite easy, let me demonstrate it with this
example program:


/* curses_attributes_test.c (-lncurses required) */

#include <curses.h>

int main(void)
{
	initscr();
	cbreak();
	noecho();
	nonl();
	intrflush(stdscr, FALSE);
	keypad(stdscr, TRUE);
	start_color();


	attrset(A_NORMAL);
	printw("Normal display (no highlight)\n");
	printw("\n");

	attrset(A_STANDOUT);
	printw("Best highlighting mode of the terminal.\n");
	printw("\n");

	attrset(A_UNDERLINE);
	printw("Underlining\n");
	printw("\n");

	attrset(A_REVERSE);
	printw("Reverse video\n");
	printw("\n");

	attrset(A_BLINK);
	printw("Blinking\n");
	printw("\n");

	attrset(A_DIM);
	printw("Half bright\n");
	printw("\n");

	attrset(A_BOLD);
	printw("Extra bright or bold\n");
	printw("\n");

	refresh();

	return 0;
}

The initsrc() funtion is the key.



> 	I do not have it anywhere in my C files.  

But in the manpage. :-)




-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...


More information about the freebsd-questions mailing list