diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/options.go | 4 | ||||
| -rw-r--r-- | src/terminal.go | 15 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/options.go b/src/options.go index 1c650a2f..b4f74e95 100644 --- a/src/options.go +++ b/src/options.go @@ -1179,6 +1179,10 @@ func parseActionList(masked string, original string, prevActions []*action, putA appendAction(actTogglePreviewWrap) case "toggle-sort": appendAction(actToggleSort) + case "offset-up": + appendAction(actOffsetUp) + case "offset-down": + appendAction(actOffsetDown) case "preview-top": appendAction(actPreviewTop) case "preview-bottom": diff --git a/src/terminal.go b/src/terminal.go index 56e472ce..ce25bb16 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -378,6 +378,8 @@ const ( actPosition actHalfPageUp actHalfPageDown + actOffsetUp + actOffsetDown actJump actJumpAccept actPrintQuery @@ -3404,6 +3406,19 @@ func (t *Terminal) Loop() { case actHalfPageDown: t.vmove(-(t.maxItems() / 2), false) req(reqList) + case actOffsetUp, actOffsetDown: + diff := 1 + if a.t == actOffsetDown { + diff = -1 + } + t.offset += diff + before := t.offset + t.constrain() + if before != t.offset { + t.offset = before + t.vmove(diff, false) + } + req(reqList) case actJump: t.jumping = jumpEnabled req(reqJump) |
