Change summary
main.go | 4 +++-
server.go | 5 +++--
2 files changed, 6 insertions(+), 3 deletions(-)
Detailed changes
@@ -3,6 +3,7 @@ package main
import (
"smoothie/tui"
+ tea "github.com/charmbracelet/bubbletea"
"github.com/meowgorithm/babyenv"
)
@@ -17,7 +18,8 @@ func main() {
if err != nil {
panic(err)
}
- s, err := NewServer(cfg.Port, cfg.KeyPath, LoggingMiddleware(), BubbleTeaMiddleware(tui.SessionHandler))
+ btm := BubbleTeaMiddleware(tui.SessionHandler, tea.WithAltScreen())
+ s, err := NewServer(cfg.Port, cfg.KeyPath, LoggingMiddleware(), btm)
if err != nil {
panic(err)
}
@@ -25,12 +25,13 @@ func LoggingMiddleware() Middleware {
}
}
-func BubbleTeaMiddleware(bth func(ssh.Session) tea.Model) Middleware {
+func BubbleTeaMiddleware(bth func(ssh.Session) tea.Model, opts ...tea.ProgramOption) Middleware {
return func(sh ssh.Handler) ssh.Handler {
return func(s ssh.Session) {
m := bth(s)
if m != nil {
- p := tea.NewProgram(m, tea.WithAltScreen(), tea.WithInput(s), tea.WithOutput(s))
+ opts = append(opts, tea.WithInput(s), tea.WithOutput(s))
+ p := tea.NewProgram(m, opts...)
err := p.Start()
if err != nil {
log.Printf("%s error %v: %s\n", s.RemoteAddr().String(), s.Command(), err)