fix jiggle when scrolloff is maxed
This commit is contained in:
parent
826787450a
commit
188bd97b3b
3
eval.go
3
eval.go
@ -39,9 +39,8 @@ func (e *SetExpr) eval(app *App, args []string) {
|
||||
log.Print(msg)
|
||||
return
|
||||
}
|
||||
max := app.ui.wins[0].h/2 - 1
|
||||
max := app.ui.wins[0].h/2
|
||||
if n > max {
|
||||
// TODO: stay at the same row while up/down in the middle
|
||||
n = max
|
||||
}
|
||||
gOpts.scrolloff = n
|
||||
|
5
nav.go
5
nav.go
@ -260,6 +260,11 @@ func (nav *Nav) down() {
|
||||
|
||||
dir.pos++
|
||||
edge := min(gOpts.scrolloff, maxind-dir.ind)
|
||||
|
||||
// use a smaller value when the height is even and scrolloff is maxed
|
||||
// in order to stay at the same row as much as possible while up/down
|
||||
edge = min(edge, nav.height / 2 + nav.height % 2 - 1)
|
||||
|
||||
dir.pos = min(dir.pos, nav.height-edge-1)
|
||||
dir.pos = min(dir.pos, maxind)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user