Skip to content

fix: resolve inline app duplicate frame stacking and height bounding - #6673

Open
Jyotish08 wants to merge 1 commit into
Textualize:mainfrom
Jyotish08:fix-inline-driver-resize
Open

fix: resolve inline app duplicate frame stacking and height bounding#6673
Jyotish08 wants to merge 1 commit into
Textualize:mainfrom
Jyotish08:fix-inline-driver-resize

Conversation

@Jyotish08

Copy link
Copy Markdown

Link to issue or discussion

Fixes #6671


Description

Resolves two related bugs occurring with App.run(inline=True) when the terminal is resized after rendering at least one frame:

  1. Bug A (Stacked Duplicate Frames on Resize): Disabled terminal auto-wrap (\x1b[?7l) in linux_inline_driver.py while the inline application is running. This prevents drift between physical cursor tracking and internal state during resize events, and removes the full screen clear (\x1b[2J) on resize to preserve terminal scrollback.
  2. Bug B (Inline Height Bounding Failure): Updated get_content_height in layout.py to check using any instead of all when evaluating dynamic height children. This allows inline apps with mixed layout elements to properly expand up to the available terminal height.

Changes Made

  • src/textual/drivers/linux_inline_driver.py: Managed auto-wrap escape codes and adjusted resize handling logic.
  • src/textual/layout.py: Updated child dynamic height evaluation logic in get_content_height.

Copilot AI review requested due to automatic review settings July 28, 2026 17:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

inline mode: resize leaves stacked duplicate frames, and bounded region doesn't use available terminal height

2 participants