Browse Source

updated to not scroll past the bottom of the chat

pull/37/head
David Haukeness 5 years ago
parent
commit
e1c8890721
No known key found for this signature in database
GPG Key ID: A7F1091956853EF9
  1. 18
      main.go

18
main.go

@ -120,10 +120,15 @@ func scrollDOWN(v *gocui.View) error { @@ -120,10 +120,15 @@ func scrollDOWN(v *gocui.View) error {
}
func scrollView(v *gocui.View, delta int) error {
if v != nil {
v.Autoscroll = false
_, y := v.Size()
ox, oy := v.Origin()
if err := v.SetOrigin(ox, oy+delta); err != nil {
return err
if oy+delta > strings.Count(v.ViewBuffer(), "\n")-y {
v.Autoscroll = true
} else {
v.Autoscroll = false
if err := v.SetOrigin(ox, oy+delta); err != nil {
return err
}
}
}
return nil
@ -160,6 +165,13 @@ func initKeybindings() error { @@ -160,6 +165,13 @@ func initKeybindings() error {
}); err != nil {
return err
}
if err := g.SetKeybinding("", gocui.KeyEsc, gocui.ModNone,
func(g *gocui.Gui, v *gocui.View) error {
autoScrollView("Chat")
return nil
}); err != nil {
return err
}
if err := g.SetKeybinding("", gocui.KeyCtrlC, gocui.ModNone,
func(g *gocui.Gui, v *gocui.View) error {
input, err := getInputString("Input")

Loading…
Cancel
Save