You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Display not being refreshed after App.suspend (since 0.85) #5528
from os import system
from textual.app import App, ComposeResult
from textual.containers import Horizontal, Vertical
from textual.widgets import Footer, Header, Input
class SuspendingApp(App[None]):
CSS = """
Screen {
Vertical {
border: solid;
}
}
"""
BINDINGS = [("f1", "edit")]
def compose(self) -> ComposeResult:
yield Header()
with Horizontal():
yield Vertical()
yield Vertical()
yield Input()
yield Footer()
def action_edit(self) -> None:
with self.suspend():
system("vim")
if __name__ == "__main__":
SuspendingApp().run()
if you press f1 and then exit vim the screen of the Textual application doesn't fully restore:
Screen.Recording.2025-02-15.at.08.58.26.mov
Working backwards through Textual releases, the last version where App.suspend worked as intended was v0.84; it very much appears that v0.85.0 introduced this issue.
Activity
TomJGooding commentedon Feb 15, 2025
Joining the dark side Dave?
git bisect points to 6298acb, presumably this change in screen:
I'm not really familiar enough with how the refreshing works to say this is the correct fix, but just sharing my findings in case it helps someone...
github-actions commentedon Feb 22, 2025
Don't forget to star the repository!
Follow @textualizeio for Textual updates.
🔥 Remove Textualize/textual#5528 workaround