{"id":13393833,"url":"https://github.com/marcusolsson/tui-go","last_synced_at":"2025-03-13T19:31:51.984Z","repository":{"id":41366137,"uuid":"74011714","full_name":"marcusolsson/tui-go","owner":"marcusolsson","description":"A UI library for terminal applications.","archived":true,"fork":false,"pushed_at":"2021-10-12T20:26:05.000Z","size":2176,"stargazers_count":2098,"open_issues_count":30,"forks_count":124,"subscribers_count":49,"default_branch":"master","last_synced_at":"2024-11-17T12:41:26.341Z","etag":null,"topics":["terminal","terminal-app","tui","ui"],"latest_commit_sha":null,"homepage":null,"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/marcusolsson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"custom":"https://buymeacoffee.com/marcusolsson"}},"created_at":"2016-11-17T09:31:56.000Z","updated_at":"2024-11-15T06:31:06.000Z","dependencies_parsed_at":"2022-08-28T19:31:14.236Z","dependency_job_id":null,"html_url":"https://github.com/marcusolsson/tui-go","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusolsson%2Ftui-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusolsson%2Ftui-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusolsson%2Ftui-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusolsson%2Ftui-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcusolsson","download_url":"https://codeload.github.com/marcusolsson/tui-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243469224,"owners_count":20295715,"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":["terminal","terminal-app","tui","ui"],"created_at":"2024-07-30T17:01:01.097Z","updated_at":"2025-03-13T19:31:50.985Z","avatar_url":"https://github.com/marcusolsson.png","language":"Go","funding_links":["https://buymeacoffee.com/marcusolsson"],"categories":["Go","开源类库","Open source library","Command Line","命令行","Table of Contents","\u003cspan id=\"命令行-command-line\"\u003e命令行 Command Line\u003c/span\u003e"],"sub_categories":["命令行","Command Line","Advanced Console UIs","\u003cspan id=\"高级控制台用户界面-advanced-console-uis\"\u003e高级控制台用户界面 Advanced Console UIs\u003c/span\u003e"],"readme":"# tui: Terminal UI for Go\n\n[![Build Status](https://travis-ci.org/marcusolsson/tui-go.svg?branch=master)](https://travis-ci.org/marcusolsson/tui-go)\n[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat)](https://godoc.org/github.com/marcusolsson/tui-go)\n[![Go Report Card](https://goreportcard.com/badge/github.com/marcusolsson/tui-go)](https://goreportcard.com/report/github.com/marcusolsson/tui-go)\n[![License MIT](https://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat)](LICENSE)\n\nA UI library for terminal applications.\n\ntui (pronounced _tooey_) provides a higher-level programming model for building rich terminal applications. It lets you build layout-based user interfaces that (should) gracefully handle resizing for you.\n\n_IMPORTANT:_ tui-go is still in an experimental phase so please don't use it for anything other than experiments, yet.\n\n**Update**: I created tui-go as an experiment because I wanted a simpler way of creating terminal-based user interfaces. It has since then become a project, with all the work that comes with it. While it's been really fun, unfortunately I'm no longer able to maintain this project. \n\nSince I started working on tui-go, a number of similar projects have popped up. One that I think shows great promise is [rivo/tview](https://github.com/rivo/tview), which embodies much of what I envisioned for tui-go. I highly recommend trying it out!\n\nThanks all of you who have contributed and supported tui-go!\n\n![Screenshot](example/chat/screenshot.png)\n\n## Installation\n\n```\ngo get github.com/marcusolsson/tui-go\n```\n\n## Usage\n\n```go\npackage main\n\nimport \"github.com/marcusolsson/tui-go\"\n\nfunc main() {\n\tbox := tui.NewVBox(\n\t\ttui.NewLabel(\"tui-go\"),\n\t)\n\n\tui, err := tui.New(box)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tui.SetKeybinding(\"Esc\", func() { ui.Quit() })\n\n\tif err := ui.Run(); err != nil {\n\t\tpanic(err)\n\t}\n}\n```\n\n## Getting started\n\nIf you want to know what it is like to build terminal applications with tui-go, check out some of the [examples](example).\n\nDocumentation is available at [godoc.org](https://godoc.org/github.com/marcusolsson/tui-go).\n\nMake sure you check out some of the [projects using tui-go](https://godoc.org/github.com/marcusolsson/tui-go?importers).\n\nOnce you've gotten started developing your first application with tui-go, you might be interested in learning about common [patterns](https://github.com/marcusolsson/tui-go/wiki/Patterns) or how you can [debug](https://github.com/marcusolsson/tui-go/wiki/Debugging) your applications.\n\n## Related projects\n\ntui-go is mainly influenced by [Qt](https://www.qt.io/) and offers a similar programming model that has been adapted to Go and the terminal.\n\nFor an overview of the alternatives for writing terminal user interfaces, check out [this article](https://appliedgo.net/tui/) by [AppliedGo](https://appliedgo.net/).\n\n## License\n\ntui-go is released under the [MIT License](LICENSE).\n\n## Contact\n\nIf you're interested in chatting with users and contributors, join\n[#tui-go](https://gophers.slack.com/messages/tui-go) on\nthe [Gophers Slack](https://gophers.slack.com).\nIf you're not already a part of the Slack workspace, you can join\n[here](https://invite.slack.golangbridge.org/). If you prefer a lower-bandwidth\ninterface, see [this\narticle](https://get.slack.help/hc/en-us/articles/201727913-Connect-to-Slack-over-IRC-and-XMPP)\non connecting to Slack via IRC or XMPP.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcusolsson%2Ftui-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcusolsson%2Ftui-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcusolsson%2Ftui-go/lists"}