Add keybindings to switch focus between views with number keys

This commit is contained in:
gekoke 2022-01-18 20:13:46 +02:00 committed by gekoke
parent d195bdf2df
commit da626b24ae
2 changed files with 25 additions and 0 deletions

View file

@ -487,6 +487,11 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
{ViewName: viewName, Key: gocui.KeyArrowRight, Modifier: gocui.ModNone, Handler: gui.nextView},
{ViewName: viewName, Key: 'h', Modifier: gocui.ModNone, Handler: gui.previousView},
{ViewName: viewName, Key: 'l', Modifier: gocui.ModNone, Handler: gui.nextView},
{ViewName: viewName, Key: '1', Modifier: gocui.ModNone, Handler: gui.switchToProjectView},
{ViewName: viewName, Key: '2', Modifier: gocui.ModNone, Handler: gui.switchToServicesView},
{ViewName: viewName, Key: '3', Modifier: gocui.ModNone, Handler: gui.switchToContainersView},
{ViewName: viewName, Key: '4', Modifier: gocui.ModNone, Handler: gui.switchToImagesView},
{ViewName: viewName, Key: '5', Modifier: gocui.ModNone, Handler: gui.switchToVolumesView},
}...)
}

View file

@ -83,6 +83,26 @@ func (gui *Gui) switchView(viewName string, g *gocui.Gui, v *gocui.View) error {
return gui.switchFocus(g, v, focusedView, false)
}
func (gui *Gui) switchToProjectView(g *gocui.Gui, v *gocui.View) error {
return gui.switchView("project", g, v)
}
func (gui *Gui) switchToServicesView(g *gocui.Gui, v *gocui.View) error {
return gui.switchView("services", g, v)
}
func (gui *Gui) switchToContainersView(g *gocui.Gui, v *gocui.View) error {
return gui.switchView("containers", g, v)
}
func (gui *Gui) switchToImagesView(g *gocui.Gui, v *gocui.View) error {
return gui.switchView("images", g, v)
}
func (gui *Gui) switchToVolumesView(g *gocui.Gui, v *gocui.View) error {
return gui.switchView("volumes", g, v)
}
func (gui *Gui) resetMainView() {
gui.State.Panels.Main.ObjectKey = ""
gui.getMainView().Wrap = gui.Config.UserConfig.Gui.WrapMainPanel