vt: preserve environment of start command
example: add a show_keys example
eventHandler: buffer events in channel before sending to host
A virtual terminal widget for tcell
tcell-term implements the native tcell Widget interface.
screen := tcell.NewScreen()
term := tcellterm.New()
// Create a view. A screen is also a valid view
view := views.NewViewport(screen, 0, 0, -1, -1)
// Set the view. This must be set before calling Draw in your event
// handler
term.SetView(view)
// Call watch with your model. It should HandleEvent(ev tcell.Event)
term.Watch(myWidgetEventWatcher)
cmd := exec.Command(os.Getenv("SHELL"))
go func() {
term.Run(cmd)
}()
For general discussion or patches, use the mailing list: ~rockorager/tcell-term@lists.sr.ht.
Anyone can contribute to tcell-term:
Once you are happy with your work, you can create a commit (or several commits). Follow these general rules:
git log --oneline
.Fixes:
trailer with the commit id and its title.There is a great reference for commit messages in the Linux kernel documentation.
Before sending the patch, you should configure your local clone with sane defaults:
git config format.subjectPrefix "PATCH tcell-term"
git config sendemail.to "~rockorager/tcell-term@lists.sr.ht"
And send the patch to the mailing list:
git sendemail --annotate -1
Wait for feedback. Address comments and amend changes to your original commit. Then you should send a v2:
git sendemail --in-reply-to=$first_message_id --annotate -v2 -1