Skip to content

Conversation

@multiplex55
Copy link
Owner

Motivation

  • Allow the inner slot UI to grow to its natural content height while keeping the slot viewport fixed to body_height so nested content is not truncated or overlapped.
  • Ensure clipping is applied to the visible viewport only, not to content-size calculations, to avoid interfering with layout.
  • Keep the scroll area responsible for enforcing the viewport's maximum height so the overall slot layout remains stable.

Description

  • In src/dashboard/dashboard.rs inside render_scrollable_widget the inner ui.set_max_height(body_height) was removed so the inner UI can compute its natural height.
  • The slot clipping rect is now intersected with the scroll viewport (slot_clip.intersect(viewport)) and applied inside show_viewport so clipping affects only the viewport.
  • The scroll area still uses ScrollArea::max_height(body_height) to keep the viewport height fixed, and ui.set_min_height(body_height) is retained on the inner UI to preserve minimum sizing.
  • No other widget source files were modified; the change was limited to render_scrollable_widget / show_viewport behavior.

Testing

  • No automated tests were executed for this change.
  • Manual review inspected widgets with their own ScrollArea (e.g. todo, clipboard_recent, clipboard_snippets, recent_notes, notes_recent, process_list, query_list, tempfiles) and no code edits were required to avoid truncation after this change.

Codex Task

@multiplex55 multiplex55 merged commit 69a1075 into master Jan 9, 2026
1 check passed
@multiplex55 multiplex55 deleted the codex/update-slot-level-scroll-container-behavior branch January 9, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants