Skip to content

Commit c708e8a

Browse files
committed
measure renderable
1 parent 69ed4b2 commit c708e8a

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/textual/widgets/_text_log.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
from rich.console import RenderableType
66
from rich.highlighter import ReprHighlighter
7+
from rich.measure import measure_renderables
78
from rich.pretty import Pretty
89
from rich.protocol import is_renderable
910
from rich.segment import Segment
@@ -82,15 +83,16 @@ def write(self, content: RenderableType | object) -> None:
8283
renderable = cast(RenderableType, content)
8384

8485
console = self.app.console
85-
width = max(
86-
self.min_width, self.scrollable_content_region.width or self.min_width
87-
)
88-
89-
render_options = console.options.update_width(width)
86+
render_options = console.options
9087

9188
if isinstance(renderable, Text) and not self.wrap:
9289
render_options = render_options.update(overflow="ignore", no_wrap=True)
9390

91+
width = max(
92+
self.min_width,
93+
measure_renderables(console, render_options, [renderable]).maximum,
94+
)
95+
9496
segments = self.app.console.render(
9597
renderable, render_options.update_width(width)
9698
)

0 commit comments

Comments
 (0)