diff --git a/src/textual/screen.py b/src/textual/screen.py index ab9b187efa..3e7d21f1ce 100644 --- a/src/textual/screen.py +++ b/src/textual/screen.py @@ -1205,8 +1205,9 @@ def _get_inline_height(self, size: Size) -> int: def _screen_resized(self, size: Size): """Called by App when the screen is resized.""" - self._compositor_refresh() - self._refresh_layout(size) + if self.stack_updates: + self._compositor_refresh() + self._refresh_layout(size) def _on_screen_resume(self) -> None: """Screen has resumed.""" diff --git a/src/textual/widgets/_footer.py b/src/textual/widgets/_footer.py index 1260399a51..9e53b1a1f7 100644 --- a/src/textual/widgets/_footer.py +++ b/src/textual/widgets/_footer.py @@ -259,6 +259,7 @@ async def bindings_changed(self, screen: Screen) -> None: await self.recompose() def on_mount(self) -> None: + self.call_next(self.bindings_changed, self.screen) self.screen.bindings_updated_signal.subscribe(self, self.bindings_changed) def on_unmount(self) -> None: