{"id":32591007,"url":"https://github.com/interkosmos/fortran-ncurses","last_synced_at":"2026-02-26T06:09:18.104Z","repository":{"id":315473357,"uuid":"1059269877","full_name":"interkosmos/fortran-ncurses","owner":"interkosmos","description":"Fortran 2018 interface bindings to ncurses","archived":false,"fork":false,"pushed_at":"2025-09-23T16:02:06.000Z","size":53,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-30T01:55:40.806Z","etag":null,"topics":["curses","fortran","fortran-2018","fpm","ncurses"],"latest_commit_sha":null,"homepage":"","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/interkosmos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-18T08:15:19.000Z","updated_at":"2025-09-23T16:02:11.000Z","dependencies_parsed_at":"2025-09-18T21:41:55.976Z","dependency_job_id":"031f8451-d957-46ad-a274-fc9d2b288b8d","html_url":"https://github.com/interkosmos/fortran-ncurses","commit_stats":null,"previous_names":["interkosmos/fortran-ncurses"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/interkosmos/fortran-ncurses","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interkosmos%2Ffortran-ncurses","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interkosmos%2Ffortran-ncurses/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interkosmos%2Ffortran-ncurses/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interkosmos%2Ffortran-ncurses/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/interkosmos","download_url":"https://codeload.github.com/interkosmos/fortran-ncurses/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interkosmos%2Ffortran-ncurses/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29849833,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T22:37:40.667Z","status":"online","status_checked_at":"2026-02-26T02:00:06.774Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["curses","fortran","fortran-2018","fpm","ncurses"],"created_at":"2025-10-30T01:54:47.881Z","updated_at":"2026-02-26T06:09:18.098Z","avatar_url":"https://github.com/interkosmos.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fortran-ncurses\n\nA work-in-progress collection of auto-generated ISO C binding interfaces to\nncurses for Fortran 2018, similar to\n[M_ncurses](https://github.com/urbanjost/M_ncurses).\n\n## Build Instructions\n\nExecute the Makefile to build and install the library:\n\n```\n$ make\n$ make install PREFIX=/opt\n```\n\nDepending on the ncurses library installed locally, you may have to generate the\nconstants module `ncurses_const.f90`, for instance:\n\n```\n$ make mkconst\n$ ./mkconst src/ncurses_const.f90\n```\n\nTo build all example programs:\n\n```\n$ make examples\n```\n\n## Example\n\nBasic example program to initialise ncurses and output a string:\n\n```fortran\n! example.f90\nprogram main\n    use :: ncurses\n    implicit none (type, external)\n\n    integer :: ch, rc\n\n    stdscr = initscr()\n    rc = noecho()\n    rc = curs_set(0)\n    rc = printw('Hello, World!' // c_null_char)\n    ch = getch()\n    rc = endwin()\nend program main\n```\n\nCompile, link, and run the program:\n\n```\n$ gfortran -I/opt/include/libfortran-ncurses -o example example.f90 /opt/lib/libfortran-ncurses.a -lncurses\n$ ./example\n```\n\n## Fortran Package Manager\n\nYou can add _fortran-ncurses_ as an FPM dependency to your `fpm.toml`:\n\n```toml\n[dependencies]\nfortran-ncurses = { git = \"https://github.com/interkosmos/fortran-ncurses.git\" }\n```\n\n## Compatibility\n\n* All character strings passed to the interfaces have to be null-terminated\n  with `c_null_char`.\n* The ncurses macros `COLOR_PAIR`, `COLOR_PAIRS`, `COLORS`, `COLS`, `LINES` and\n  `PAIR_NUMBER` are bound through functions of the same name.\n\n## References\n\n* Pradeep Padala, Thomas E. Dickey: [NCURSES Programming HOWTO](https://invisible-island.net/ncurses/howto/NCURSES-Programming-HOWTO.html)\n* Eric S. Raymond, Zeyd M. Ben-Halim, Thomas E. Dickey: [Writing Programs with NCURSES](https://invisible-island.net/ncurses/ncurses-intro.html)\n* [ncurses manuals](https://alfonsosiciliano.gitlab.io/posts/2021-11-03-ncurses-manuals.html)\n\n## Licence\n\nISC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterkosmos%2Ffortran-ncurses","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finterkosmos%2Ffortran-ncurses","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterkosmos%2Ffortran-ncurses/lists"}