{"id":20239837,"url":"https://github.com/rockorager/tcell-term","last_synced_at":"2026-05-17T17:33:31.250Z","repository":{"id":197084073,"uuid":"667630684","full_name":"rockorager/tcell-term","owner":"rockorager","description":"a terminal widget for tcell (mirror of git.sr.ht/~rockorager/tcell-term)","archived":false,"fork":false,"pushed_at":"2023-09-28T21:17:16.000Z","size":332,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-03T15:12:44.980Z","etag":null,"topics":["golang","tcell","terminal"],"latest_commit_sha":null,"homepage":"","language":"Go","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/rockorager.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}},"created_at":"2023-07-18T00:49:39.000Z","updated_at":"2024-08-28T13:32:12.000Z","dependencies_parsed_at":"2023-09-29T00:10:52.708Z","dependency_job_id":null,"html_url":"https://github.com/rockorager/tcell-term","commit_stats":null,"previous_names":["rockorager/tcell-term"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rockorager/tcell-term","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rockorager%2Ftcell-term","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rockorager%2Ftcell-term/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rockorager%2Ftcell-term/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rockorager%2Ftcell-term/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rockorager","download_url":"https://codeload.github.com/rockorager/tcell-term/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rockorager%2Ftcell-term/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269980846,"owners_count":24507270,"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-08-11T02:00:10.019Z","response_time":75,"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":["golang","tcell","terminal"],"created_at":"2024-11-14T08:41:30.470Z","updated_at":"2026-05-17T17:33:26.220Z","avatar_url":"https://github.com/rockorager.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tcell-term\n\nA virtual terminal widget for [tcell](https://github.com/gdamore/tcell/)\n\ntcell-term implements the native tcell Widget interface.\n\n```go\nscreen := tcell.NewScreen()\nterm := tcellterm.New()\n// Create a view. A screen is also a valid view\nview := views.NewViewport(screen, 0, 0, -1, -1)\n\n// Set the view. This must be set before calling Draw in your event\n// handler\nterm.SetView(view)\n\n// Call watch with your model. It should HandleEvent(ev tcell.Event)\nterm.Watch(myWidgetEventWatcher)\n\ncmd := exec.Command(os.Getenv(\"SHELL\"))\n\ngo func() {\n\tterm.Run(cmd)\n}()\n```\n\nFor general discussion or patches, use the [mailing list](https://lists.sr.ht/~rockorager/tcell-term): [~rockorager/tcell-term@lists.sr.ht](mailto:~rockorager/tcell-term@lists.sr.ht).\n\n## Contributing\n\nAnyone can contribute to tcell-term:\n\n-   Clone the repository.\n-   Patch the code.\n-   Make some tests.\n-   Ensure that your code is properly formatted with gofmt.\n-   Ensure that everything works as expected.\n-   Ensure that you did not break anything.\n-   Do not forget to update the docs.\n\nOnce you are happy with your work, you can create a commit (or several commits). Follow these general rules:\n\n-   Limit the first line (title) of the commit message to 60 characters.\n-   Use a short prefix for the commit title for readability with `git log --oneline`.\n-   Use the body of the commit message to actually explain what your patch does and why it is useful.\n-   Address only one issue/topic per commit.\n-   If you are fixing a ticket, use appropriate [commit trailers](https://man.sr.ht/git.sr.ht/#referencing-tickets-in-git-commit-messages).\n-   If you are fixing a regression introduced by another commit, add a `Fixes:` trailer with the commit id and its title.\n\nThere is a great reference for commit messages in the [Linux kernel documentation](https://www.kernel.org/doc/html/latest/process/submitting-patches.html#describe-your-changes).\n\nBefore sending the patch, you should configure your local clone with sane defaults:\n\n```\ngit config format.subjectPrefix \"PATCH tcell-term\"\ngit config sendemail.to \"~rockorager/tcell-term@lists.sr.ht\"\n```\n\nAnd send the patch to the mailing list:\n\n```\ngit sendemail --annotate -1\n```\n\nWait for feedback. Address comments and amend changes to your original commit.\nThen you should send a v2:\n\n```\ngit sendemail --in-reply-to=$first_message_id --annotate -v2 -1\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frockorager%2Ftcell-term","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frockorager%2Ftcell-term","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frockorager%2Ftcell-term/lists"}