diff --git a/internal/action/tab.go b/internal/action/tab.go index 2a1f5a62..f5ca7fa4 100644 --- a/internal/action/tab.go +++ b/internal/action/tab.go @@ -107,22 +107,18 @@ func (t *TabList) HandleEvent(event tcell.Event) { mx, my := e.Position() switch e.Buttons() { case tcell.Button1: - if my == t.Y && mx == 0 { - t.Scroll(-4) - return - } else if my == t.Y && mx == t.Width-1 { - t.Scroll(4) - return - } - if len(t.List) > 1 { - ind := t.LocFromVisual(buffer.Loc{mx, my}) - if ind != -1 { - t.SetActive(ind) - return - } - if my == 0 { - return + if my == t.Y && len(t.List) > 1 { + if mx == 0 { + t.Scroll(-4) + } else if mx == t.Width-1 { + t.Scroll(4) + } else { + ind := t.LocFromVisual(buffer.Loc{mx, my}) + if ind != -1 { + t.SetActive(ind) + } } + return } case tcell.ButtonNone: if t.List[t.Active()].release { @@ -131,12 +127,12 @@ func (t *TabList) HandleEvent(event tcell.Event) { return } case tcell.WheelUp: - if my == t.Y { + if my == t.Y && len(t.List) > 1 { t.Scroll(4) return } case tcell.WheelDown: - if my == t.Y { + if my == t.Y && len(t.List) > 1 { t.Scroll(-4) return }