- Notifications
You must be signed in to change notification settings - Fork101
A low-level ncurses wrapper for Rust
License
jeaye/ncurses-rs
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Important
ncurses-rs has been archived and will not be further developed. Release 6.0.1 is the last release.
Overall, the thinness of this wrapper puts it into an uncomfortable middle ground between C and Rust which is still unsafe and not very Rustic. It'd be better to use either C interop directly or something altogether safer. I made ncurses-rs in 2015, when the Rust landscape wasvery different.
If you'd like to make a TUI in safe Rust, considerratatui,cursive, or similar.
This is avery thin wrapper around the ncurses TUI lib.
The compiled library will go to thetarget
directory.
cargo build
Note that you must to have the ncurses library installed and linkable for ncurses-rs to work. On Linux, this should be trivial. On OS X, consider installing ncurses using Homebrew. (Note that you have to force Homebrew to link the library to/usr/local/lib
:brew link --force ncurses
and set that path toLIBRARY_PATH
environmental variable.)
Examples are built bycargo build
. To run them, usecargo run --example ex_<NUMBER>
. Example numbers increase along with the complexity of the example.
Current examples:
1.Hello World
2.Basic Input & Attributes
3.Simple Pager
4.Window Movement
5.Menu Library (requires rust nightly)
6.Pager & Syntax Highlighting
7.Basic Input & Attributes (Unicode)
8.Special ACS Characters
Some environment variables are read bybuild.rs
:
If set,NCURSES_RS_RUSTC_LINK_LIB
will be used forNCURSES_RS_RUSTC_LINK_LIB
.
If set,NCURSES_RS_RUSTC_FLAGS
will be used forcargo:rustc-flags
.
If set,NCURSES_RS_CFLAGS
will be used for the compilation of the test programchtype_size.c
.
About
A low-level ncurses wrapper for Rust
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.