diff --git a/internal/tui/tui.go b/internal/tui/tui.go index 728437e6a9b46bf52c23b23a78f1cdeb4fa588c2..fa17910e550382c5b02cfe08426ed01f7ac5b268 100644 --- a/internal/tui/tui.go +++ b/internal/tui/tui.go @@ -3,6 +3,7 @@ package tui import ( "context" "fmt" + "strings" "github.com/charmbracelet/bubbles/v2/key" tea "github.com/charmbracelet/bubbletea/v2" @@ -453,6 +454,11 @@ func (a *appModel) View() tea.View { var cursor *tea.Cursor if v, ok := page.(util.Cursor); ok { cursor = v.Cursor() + // Hide the cursor if it's positioned outside the textarea + statusHeight := a.height - strings.Count(pageView, "\n") + 1 + if cursor != nil && cursor.Y+statusHeight+chat.EditorHeight-2 <= a.height { // 2 for the top and bottom app padding + cursor = nil + } } activeView := a.dialog.ActiveModel() if activeView != nil {