diff --git a/docs/Config.md b/docs/Config.md index f030d5e35..e353a44ba 100644 --- a/docs/Config.md +++ b/docs/Config.md @@ -112,6 +112,8 @@ keybinding: quit: 'q' quit-alt1: '' # alternative/alias of quit return: '' # return to previous menu, will quit if there's nowhere to return + # When set to a printable character, this will work for returning from non-prompt panels + return-alt1: null quitWithoutChangingDirectory: 'Q' togglePanel: '' # goto the next panel prevItem: '' # go one line up diff --git a/pkg/config/user_config.go b/pkg/config/user_config.go index b56b10882..ac0971229 100644 --- a/pkg/config/user_config.go +++ b/pkg/config/user_config.go @@ -134,6 +134,7 @@ type KeybindingUniversalConfig struct { Quit string `yaml:"quit"` QuitAlt1 string `yaml:"quit-alt1"` Return string `yaml:"return"` + ReturnAlt1 string `yaml:"return-alt1"` QuitWithoutChangingDirectory string `yaml:"quitWithoutChangingDirectory"` TogglePanel string `yaml:"togglePanel"` PrevItem string `yaml:"prevItem"` @@ -420,6 +421,7 @@ func GetDefaultConfig() *UserConfig { Quit: "q", QuitAlt1: "", Return: "", + ReturnAlt1: "", QuitWithoutChangingDirectory: "Q", TogglePanel: "", PrevItem: "", diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index 8982a3056..383b52b32 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -74,6 +74,12 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi Modifier: gocui.ModNone, Handler: self.handleTopLevelReturn, }, + { + ViewName: "", + Key: opts.GetKey(opts.Config.Universal.ReturnAlt1), + Modifier: gocui.ModNone, + Handler: self.handleTopLevelReturn, + }, { ViewName: "", Key: opts.GetKey(opts.Config.Universal.OpenRecentRepos),