1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-04-15 11:56:37 +02:00

Fix main view refresh after adding the first file to a custom patch

This broke with 240948b.
This commit is contained in:
Stefan Haller 2024-01-26 17:39:03 +01:00
parent e8e7ddea45
commit c66667c8c1
3 changed files with 5 additions and 5 deletions

View File

@ -66,7 +66,7 @@ func (self inlineStatusHelperTask) Continue() {
func (self *InlineStatusHelper) WithInlineStatus(opts InlineStatusOpts, f func(gocui.Task) error) {
context := self.c.ContextForKey(opts.ContextKey).(types.IListContext)
view := context.GetView()
visible := view.Visible && self.windowHelper.TopViewInWindow(context.GetWindowName()) == view
visible := view.Visible && self.windowHelper.TopViewInWindow(context.GetWindowName(), false) == view
if visible && context.IsItemVisible(opts.Item) {
self.c.OnWorker(func(task gocui.Task) {
self.start(opts)

View File

@ -90,7 +90,7 @@ func (self *WindowHelper) MoveToTopOfWindow(context types.Context) {
window := context.GetWindowName()
topView := self.TopViewInWindow(window)
topView := self.TopViewInWindow(window, true)
if topView != nil && view.Name() != topView.Name() {
if err := self.c.GocuiGui().SetViewOnTopOf(view.Name(), topView.Name()); err != nil {
@ -99,14 +99,14 @@ func (self *WindowHelper) MoveToTopOfWindow(context types.Context) {
}
}
func (self *WindowHelper) TopViewInWindow(windowName string) *gocui.View {
func (self *WindowHelper) TopViewInWindow(windowName string, includeInvisibleViews bool) *gocui.View {
// now I need to find all views in that same window, via contexts. And I guess then I need to find the index of the highest view in that list.
viewNamesInWindow := self.viewNamesInWindow(windowName)
// The views list is ordered highest-last, so we're grabbing the last view of the window
var topView *gocui.View
for _, currentView := range self.c.GocuiGui().Views() {
if lo.Contains(viewNamesInWindow, currentView.Name()) && currentView.Visible {
if lo.Contains(viewNamesInWindow, currentView.Name()) && (currentView.Visible || includeInvisibleViews) {
topView = currentView
}
}

View File

@ -38,7 +38,7 @@ func (gui *Gui) moveMainContextToTop(context types.Context) {
view := context.GetView()
topView := gui.helpers.Window.TopViewInWindow(context.GetWindowName())
topView := gui.helpers.Window.TopViewInWindow(context.GetWindowName(), true)
if topView != nil && topView != view {
// We need to copy the content to avoid a flicker effect: If we're flicking