Perl 6 interface to NCurses library
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Remove 'use lib' from examples Oct 12, 2017
lib Attempt to find ncursesw if installed. Sep 6, 2017
logotype Switch to MIT License, update docs, switch to zef instead of deprecat… Apr 14, 2017
t
.gitignore Ignore precompiled artifacts Apr 4, 2016
.travis.yml
LICENSE Switch to MIT License, update docs, switch to zef instead of deprecat… Apr 14, 2017
META6.json
README.md
TODO.md

README.md

NCurses Build Status

NCurses provides a Perl 6 native interface to ncurses library.

Example

use v6;
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

  • On Debian-based linux distributions, please use the following command:
$ sudo apt-get install libncurses5
  • On Mac OS X, please use the following command:
$ brew update
$ brew install ncurses
  • Using zef (a module management tool bundled with Rakudo Star):
$ zef install NCurses

Environment variables

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

  • PERL6_NCURSES_LIB
  • PERL6_NCURSES_PANEL_LIB
  • PERL6_NCURSES_MENU_LIB
  • PERL6_NCURSES_FORM_LIB

Troubleshooting

  • To fix a broken or messed up terminal after a crash, please type reset to reset your terminal into its original state.

Testing

  • To run tests:
$ prove -ve "perl6 -Ilib"
  • To run all tests including author tests (Please make sure Test::Meta is installed):
$ zef install Test::META
$ AUTHOR_TESTING=1 prove -e "perl6 -Ilib"

Author

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

License

MIT License