{"id":29698481,"url":"https://github.com/loopperfect/rxterm","last_synced_at":"2025-07-23T10:07:52.110Z","repository":{"id":50792251,"uuid":"99170431","full_name":"LoopPerfect/rxterm","owner":"LoopPerfect","description":"Functional reactive terminals in C++ ⚡⌨️","archived":false,"fork":false,"pushed_at":"2021-05-29T08:28:22.000Z","size":60,"stargazers_count":262,"open_issues_count":5,"forks_count":28,"subscribers_count":17,"default_branch":"master","last_synced_at":"2023-11-07T18:58:45.756Z","etag":null,"topics":["console","console-application","cpp","reactive","reactive-streams","terminal"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LoopPerfect.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}},"created_at":"2017-08-02T23:42:40.000Z","updated_at":"2023-10-23T03:27:34.000Z","dependencies_parsed_at":"2022-09-06T02:21:33.571Z","dependency_job_id":null,"html_url":"https://github.com/LoopPerfect/rxterm","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"purl":"pkg:github/LoopPerfect/rxterm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoopPerfect%2Frxterm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoopPerfect%2Frxterm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoopPerfect%2Frxterm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoopPerfect%2Frxterm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LoopPerfect","download_url":"https://codeload.github.com/LoopPerfect/rxterm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoopPerfect%2Frxterm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266658178,"owners_count":23963645,"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","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["console","console-application","cpp","reactive","reactive-streams","terminal"],"created_at":"2025-07-23T10:07:51.449Z","updated_at":"2025-07-23T10:07:52.101Z","avatar_url":"https://github.com/LoopPerfect.png","language":"C++","readme":"# RxTerm ⚡⌨️\n\nA C++ library for functional-reactive terminals. RxTerm is a lean alternative to ncurses for many applications.\n\n![terminal](https://cdn-images-1.medium.com/max/800/1*G897-DuUI_0q6W9VKcIjZg.gif)\n\n\n## Build Instructions\n\nThe library builds with [Buckaroo](https://buckaroo.pm) and either [Buck](https://www.buckbuild.com) or [Bazel](https://bazel.build). It requires a C++ 14 compiler.\n\n```bash\nbuckaroo install\n\n# Buck\nbuck build :rxterm\n\n# Bazel\nbazel build :rxterm\n```\n\nTo run the demo:\n\n```bash\n# Buck\nbuck run :main\n\n# Bazel\nBAZEL_CXXOPTS=\"-std=c++14\" bazel run :main\n```\n\n\n## Usage\n\nTo install this library into your project:\n\n```bash=\nbuckaroo add github.com/loopperfect/rxterm@*\n```\n\nRefer to `rxterm/apps/main.cpp` for an example.\n\n\n## Progress\n\n * [x] ANSI Output\n * [x] Reusable components\n * [ ] Managed console input\n * [ ] Terminal width detection\n * [ ] Windows support\n\nContributions are very welcome! 💖\n\n## Windows Support\n\n- VT100 escape sequences are enabled by default in msys2, mingw and cygwin.\n- Cmd.exe and Powershell may require explicit activation of terminal mode. The easiest way is to call system(\" \") at the start of your application.\n\nMore info:\nhttps://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences\nhttps://larsfosdal.blog/2018/08/31/did-you-know-that-you-can-enable-vt100-terminal-emulation-in-powershell-as-well-as-the-cmd-window/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floopperfect%2Frxterm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floopperfect%2Frxterm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floopperfect%2Frxterm/lists"}