From 9484cae46f0955ba0f2089f185ea178040f2454f Mon Sep 17 00:00:00 2001 From: Will McGugan Date: Sat, 5 Aug 2023 16:49:24 +0100 Subject: [PATCH 1/2] enable background screen refresh --- src/textual/app.py | 5 ++++- src/textual/screen.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/textual/app.py b/src/textual/app.py index c9e455e717..aa2fdf88c3 100644 --- a/src/textual/app.py +++ b/src/textual/app.py @@ -2333,7 +2333,7 @@ def _display(self, screen: Screen, renderable: RenderableType | None) -> None: """ try: - if screen is not self.screen or renderable is None: + if renderable is None: return if ( @@ -2342,6 +2342,9 @@ def _display(self, screen: Screen, renderable: RenderableType | None) -> None: and not self.is_headless and self._driver is not None ): + if screen is not self.screen: + self.screen.refresh() + return console = self.console self._begin_update() try: diff --git a/src/textual/screen.py b/src/textual/screen.py index 450717c8fe..1e10f990e4 100644 --- a/src/textual/screen.py +++ b/src/textual/screen.py @@ -183,7 +183,7 @@ def is_current(self) -> bool: from .app import ScreenStackError try: - return self.app.screen is self + return self.app.screen is self or self in self.app._background_screens except ScreenStackError: return False From d92c895d1737ae7a101dde206b62ebe2ea7aa008 Mon Sep 17 00:00:00 2001 From: Will McGugan Date: Sat, 5 Aug 2023 16:50:00 +0100 Subject: [PATCH 2/2] background refresh --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40bab93d18..7ff0f1aca0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## Unreleased + +### Fixed + +- Fixed background refresh https://github.com/Textualize/textual/issues/3055 + + ## [0.32.0] - 2023-08-03 ### Added