{"id":13438693,"url":"https://github.com/jeaye/ncurses-rs","last_synced_at":"2025-08-28T17:31:00.055Z","repository":{"id":47537158,"uuid":"13229684","full_name":"jeaye/ncurses-rs","owner":"jeaye","description":"A low-level ncurses wrapper for Rust","archived":false,"fork":false,"pushed_at":"2024-07-12T18:19:31.000Z","size":432,"stargazers_count":685,"open_issues_count":37,"forks_count":99,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-12-18T21:04:29.239Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeaye.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-09-30T22:56:02.000Z","updated_at":"2024-11-07T20:33:57.000Z","dependencies_parsed_at":"2024-06-18T18:25:46.198Z","dependency_job_id":"ce70afda-bc6e-46f8-935e-c43c6a915500","html_url":"https://github.com/jeaye/ncurses-rs","commit_stats":{"total_commits":250,"total_committers":70,"mean_commits":"3.5714285714285716","dds":0.8280000000000001,"last_synced_commit":"3aa22bc279e4929e3ab69d49f75a18eda3e431e9"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeaye%2Fncurses-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeaye%2Fncurses-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeaye%2Fncurses-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeaye%2Fncurses-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeaye","download_url":"https://codeload.github.com/jeaye/ncurses-rs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231287315,"owners_count":18353181,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:01:07.614Z","updated_at":"2024-12-25T22:04:06.614Z","avatar_url":"https://github.com/jeaye.png","language":"Rust","funding_links":[],"categories":["Libraries","Language Bindings","代码","库 Libraries","库"],"sub_categories":["Command-line","GUI","命令行 Command-line","命令行"],"readme":"ncurses-rs [![Build Status](https://travis-ci.org/jeaye/ncurses-rs.png)](https://travis-ci.org/jeaye/ncurses-rs)\n==========\n\n\u003e [!IMPORTANT]\n\u003e ncurses-rs has been archived and will not be further developed. Release 6.0.1 is the last release.\n\u003e \n\u003e 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 was *very* different.\n\u003e \n\u003e If you'd like to make a TUI in safe Rust, consider [ratatui](https://github.com/ratatui/ratatui), [cursive](https://github.com/gyscos/cursive), or similar.\n\nThis is a *very thin* wrapper around the ncurses TUI lib.\n\n## Building\n\nThe compiled library will go to the `target` directory.\n\n```\ncargo build\n```\n\nNote 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 to\n`LIBRARY_PATH` environmental variable.)\n\n## Examples\n\nExamples are built by `cargo build`. To run them, use `cargo run --example ex_\u003cNUMBER\u003e`. Example numbers increase along with the complexity of the example.\n\nCurrent examples:  \n**1.** [Hello World](https://github.com/jeaye/ncurses-rs/blob/master/examples/ex_1.rs)  \n**2.** [Basic Input \u0026 Attributes](https://github.com/jeaye/ncurses-rs/blob/master/examples/ex_2.rs)  \n**3.** [Simple Pager](https://github.com/jeaye/ncurses-rs/blob/master/examples/ex_3.rs)  \n**4.** [Window Movement](https://github.com/jeaye/ncurses-rs/blob/master/examples/ex_4.rs)  \n**5.** [Menu Library](https://github.com/jeaye/ncurses-rs/blob/master/examples/ex_5.rs) (requires rust nightly)  \n**6.** [Pager \u0026 Syntax Highlighting](https://github.com/jeaye/ncurses-rs/blob/master/examples/ex_6.rs)  \n**7.** [Basic Input \u0026 Attributes (Unicode)](https://github.com/jeaye/ncurses-rs/blob/master/examples/ex_7.rs)  \n**8.** [Special ACS Characters](https://github.com/jeaye/ncurses-rs/blob/master/examples/ex_8.rs)  \n\n## Environment variables\n\nSome environment variables are read by `build.rs`:\n\nIf set, `NCURSES_RS_RUSTC_LINK_LIB` will be used for `NCURSES_RS_RUSTC_LINK_LIB`.\n\nIf set, `NCURSES_RS_RUSTC_FLAGS` will be used for `cargo:rustc-flags`.\n\nIf set, `NCURSES_RS_CFLAGS` will be used for the compilation of the test program `chtype_size.c`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeaye%2Fncurses-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeaye%2Fncurses-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeaye%2Fncurses-rs/lists"}