summaryrefslogtreecommitdiffstats
path: root/pkg/gui/layout.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/gui/layout.go')
-rw-r--r--pkg/gui/layout.go39
1 files changed, 34 insertions, 5 deletions
diff --git a/pkg/gui/layout.go b/pkg/gui/layout.go
index 0deb37d2e..0b522ec88 100644
--- a/pkg/gui/layout.go
+++ b/pkg/gui/layout.go
@@ -101,11 +101,11 @@ func (gui *Gui) layout(g *gocui.Gui) error {
if err != nil && !gocui.IsUnknownView(err) {
return err
}
- view.Visible = gui.getViewNameForWindow(context.GetWindowName()) == context.GetViewName()
+ view.Visible = gui.helpers.Window.GetViewNameForWindow(context.GetWindowName()) == context.GetViewName()
}
if gui.PrevLayout.Information != informationStr {
- gui.setViewContent(gui.Views.Information, informationStr)
+ gui.c.SetViewContent(gui.Views.Information, informationStr)
gui.PrevLayout.Information = informationStr
}
@@ -181,7 +181,7 @@ func (gui *Gui) onInitialViewsCreationForRepo() error {
}
}
- initialContext := gui.currentSideContext()
+ initialContext := gui.c.CurrentSideContext()
if err := gui.c.PushContext(initialContext); err != nil {
return err
}
@@ -226,15 +226,44 @@ func (gui *Gui) onInitialViewsCreation() error {
}
if gui.showRecentRepos {
- if err := gui.handleCreateRecentReposMenu(); err != nil {
+ if err := gui.helpers.Repos.CreateRecentReposMenu(); err != nil {
return err
}
gui.showRecentRepos = false
}
- gui.Updater.CheckForNewUpdate(gui.onBackgroundUpdateCheckFinish, false)
+ gui.helpers.Update.CheckForUpdateInBackground()
gui.waitForIntro.Done()
return nil
}
+
+// getFocusLayout returns a manager function for when view gain and lose focus
+func (gui *Gui) getFocusLayout() func(g *gocui.Gui) error {
+ var previousView *gocui.View
+ return func(g *gocui.Gui) error {
+ newView := gui.g.CurrentView()
+ // for now we don't consider losing focus to a popup panel as actually losing focus
+ if newView != previousView && !gui.isPopupPanel(newView.Name()) {
+ if err := gui.onViewFocusLost(previousView); err != nil {
+ return err
+ }
+
+ previousView = newView
+ }
+ return nil
+ }
+}
+
+func (gui *Gui) onViewFocusLost(oldView *gocui.View) error {
+ if oldView == nil {
+ return nil
+ }
+
+ oldView.Highlight = false
+
+ _ = oldView.SetOriginX(0)
+
+ return nil
+}