78031b278f
When a form item is readonly, any input events or mouse events that would cause its value to change are ignored. Read only items are rendered when text color that matches the label color to distinguish them from items that accept input. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> |
||
---|---|---|
demos | ||
ansi.go | ||
application.go | ||
borders.go | ||
box.go | ||
button.go | ||
checkbox.go | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
doc.go | ||
dropdown.go | ||
flex.go | ||
focusable.go | ||
form.go | ||
frame.go | ||
go.mod | ||
go.sum | ||
grid.go | ||
inputfield.go | ||
LICENSE.txt | ||
list.go | ||
modal.go | ||
pages.go | ||
primitive.go | ||
README.md | ||
semigraphics.go | ||
styles.go | ||
table.go | ||
textview.go | ||
treeview.go | ||
tview.gif | ||
util.go |
Rich Interactive Widgets for Terminal UIs
This Go package provides commonly needed components for terminal based user interfaces.
Among these components are:
- Input forms (include input/password fields, drop-down selections, checkboxes, and buttons)
- Navigable multi-color text views
- Sophisticated navigable table views
- Flexible tree views
- Selectable lists
- Grid, Flexbox and page layouts
- Modal message windows
- An application wrapper
They come with lots of customization options and can be easily extended to fit your needs.
Installation
go get github.com/rivo/tview
Hello World
This basic example creates a box titled "Hello, World!" and displays it in your terminal:
package main
import (
"github.com/rivo/tview"
)
func main() {
box := tview.NewBox().SetBorder(true).SetTitle("Hello, world!")
if err := tview.NewApplication().SetRoot(box, true).Run(); err != nil {
panic(err)
}
}
Check out the GitHub Wiki for more examples along with screenshots. Or try the examples in the "demos" subdirectory.
For a presentation highlighting this package, compile and run the program found in the "demos/presentation" subdirectory.
Documentation
Refer to https://pkg.go.dev/github.com/rivo/tview for the package's documentation.
Dependencies
This package is based on github.com/gdamore/tcell (and its dependencies) as well as on github.com/rivo/uniseg.
Your Feedback
Add your issue here on GitHub. Feel free to get in touch if you have any questions.