diff --git a/cmd/mop/main.go b/cmd/mop/main.go index ec34be6..c0d14df 100644 --- a/cmd/mop/main.go +++ b/cmd/mop/main.go @@ -116,8 +116,10 @@ loop: redrawQuotesFlag = true } else if event.Key == termbox.KeyHome { screen.ScrollTop() + redrawQuotesFlag = true } else if event.Key == termbox.KeyEnd { screen.ScrollBottom(len(profile.Tickers)) + redrawQuotesFlag = true } } else if lineEditor != nil { if done := lineEditor.Handle(event); done { @@ -158,7 +160,7 @@ loop: case <-quotesQueue.C: if !showingHelp && !paused { - screen.Draw(quotes) + redrawQuotesFlag = true } case <-marketQueue.C: diff --git a/screen.go b/screen.go index fcc2e42..27f7118 100644 --- a/screen.go +++ b/screen.go @@ -92,7 +92,7 @@ func (screen *Screen) ClearLine(x int, y int) *Screen { // Increase the offset for scrolling feature by n // Takes number of tickers as max, so not scrolling down forever func (screen *Screen) IncreaseOffset(n int, max int) { - if screen.offset + n + 1 < max { + if screen.offset + n < max - screen.height + screen.headerLine{ screen.offset += n } }