Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/azawawi/raku-ncurses
Raku interface to NCurses library
https://github.com/azawawi/raku-ncurses
ncurses raku
Last synced: 3 months ago
JSON representation
Raku interface to NCurses library
- Host: GitHub
- URL: https://github.com/azawawi/raku-ncurses
- Owner: azawawi
- License: mit
- Created: 2012-11-17T13:44:35.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2022-09-24T23:06:42.000Z (over 2 years ago)
- Last Synced: 2024-09-30T17:37:44.273Z (3 months ago)
- Topics: ncurses, raku
- Language: Raku
- Homepage:
- Size: 108 KB
- Stars: 23
- Watchers: 4
- Forks: 9
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NCurses
[![Actions
Status](https://github.com/azawawi/raku-ncurses/workflows/test/badge.svg)](https://github.com/azawawi/raku-ncurses/actions)NCurses provides a Raku native interface to the `ncurses` library for
terminal-independent screen I/O.## Example
```raku
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](examples) folder.
## Installation
* On Debian-based linux distributions, please use the following command:
```
$ sudo apt-get install libncurses6
```* 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:
- `RAKU_NCURSES_LIB`
- `RAKU_NCURSES_PANEL_LIB`
- `RAKU_NCURSES_MENU_LIB`
- `RAKU_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 "raku -Ilib"
```- To run all tests including author tests (Please make sure
[Test::Meta](https://github.com/jonathanstowe/Test-META) is installed):
```
$ 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