diff --git a/internal/tui/tui.go b/internal/tui/tui.go index 22a2a52b92c52200d5ecc843c107d2ef33634a1b..cd6e46c88e7720c6dd2b176c21040dbd4405eb06 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" @@ -447,6 +448,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 {