Rand Stats

NCurses

github:azawawi

NCurses

Actions
Status

NCurses provides a Raku native interface to the ncurses library for terminal-independent screen I/O.

Example

use NCurses;

# Initialize curses window
my $win = initscr() or die "Failed to initialize ncurses\n";
start_color;

# Initialize colors
init_pair(1, COLOR_WHITE, COLOR_RED);
init_pair(2, COLOR_WHITE, COLOR_BLUE);

# Print Hello World
color_set(1, 0);
mvaddstr( 10, 10, " Hello world " );
color_set(2, 0);
mvaddstr( LINES() - 2, 2, "Press any key to exit..." );

# Refresh (this is needed)
nc_refresh;

# Wait for a keypress
getch;

# Cleanup
LEAVE {
    delwin($win) if $win;
    endwin;
}

For more examples, please see the examples folder.

Installation

$ sudo apt-get install libncurses6
$ brew update
$ brew install ncurses
$ zef install NCurses

Environment variables

The following environment variables can be used to specify the location of the different ncurses libraries:

Troubleshooting

Testing

$ prove -ve "raku -Ilib"
$ zef install Test::META
$ AUTHOR_TESTING=1 prove -e "raku -Ilib"

Author

Ahmad M. Zawawi, azawawi on #raku, https://github.com/azawawi/

License

MIT License