diff --git a/pkg/gui/extras_panel.go b/pkg/gui/extras_panel.go index 96fa225d3..0c3f20cd5 100644 --- a/pkg/gui/extras_panel.go +++ b/pkg/gui/extras_panel.go @@ -58,6 +58,38 @@ func (gui *Gui) scrollDownExtra() error { return nil } +func (gui *Gui) pageUpExtrasPanel() error { + gui.Views.Extras.Autoscroll = false + + gui.Views.Extras.ScrollUp(gui.Contexts().CommandLog.GetViewTrait().PageDelta()) + + return nil +} + +func (gui *Gui) pageDownExtrasPanel() error { + gui.Views.Extras.Autoscroll = false + + gui.Views.Extras.ScrollDown(gui.Contexts().CommandLog.GetViewTrait().PageDelta()) + + return nil +} + +func (gui *Gui) goToExtrasPanelTop() error { + gui.Views.Extras.Autoscroll = false + + gui.Views.Extras.ScrollUp(gui.Views.Extras.ViewLinesHeight()) + + return nil +} + +func (gui *Gui) goToExtrasPanelBottom() error { + gui.Views.Extras.Autoscroll = true + + gui.Views.Extras.ScrollDown(gui.Views.Extras.ViewLinesHeight()) + + return nil +} + func (gui *Gui) getCmdWriter() io.Writer { return &prefixWriter{writer: gui.Views.Extras, prefix: style.FgMagenta.Sprintf("\n\n%s\n", gui.c.Tr.GitOutput)} } diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index 54c639145..e52f9a815 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -341,6 +341,42 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi Modifier: gocui.ModNone, Handler: self.scrollDownExtra, }, + { + ViewName: "extras", + Key: opts.GetKey(opts.Config.Universal.NextPage), + Modifier: gocui.ModNone, + Handler: self.pageDownExtrasPanel, + }, + { + ViewName: "extras", + Key: opts.GetKey(opts.Config.Universal.PrevPage), + Modifier: gocui.ModNone, + Handler: self.pageUpExtrasPanel, + }, + { + ViewName: "extras", + Key: opts.GetKey(opts.Config.Universal.GotoTop), + Modifier: gocui.ModNone, + Handler: self.goToExtrasPanelTop, + }, + { + ViewName: "extras", + Key: opts.GetKey(opts.Config.Universal.GotoTopAlt), + Modifier: gocui.ModNone, + Handler: self.goToExtrasPanelTop, + }, + { + ViewName: "extras", + Key: opts.GetKey(opts.Config.Universal.GotoBottom), + Modifier: gocui.ModNone, + Handler: self.goToExtrasPanelBottom, + }, + { + ViewName: "extras", + Key: opts.GetKey(opts.Config.Universal.GotoBottomAlt), + Modifier: gocui.ModNone, + Handler: self.goToExtrasPanelBottom, + }, { ViewName: "extras", Tag: "navigation",