changelog

This commit is contained in:
Will McGugan
2024-08-31 17:14:34 +01:00
parent 94cde8a8dc
commit af80839a20
6 changed files with 23 additions and 5 deletions

View File

@@ -5,6 +5,12 @@ 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/).
## [0.79.1] - 2024-08-31
### Fixed
- Fixed broken updates when non active screen changes
## [0.79.0] - 2024-08-30
### Added

View File

@@ -31,6 +31,12 @@ Here's what the finished app will look like:
```{.textual path="docs/examples/tutorial/stopwatch.py" title="stopwatch.py" press="tab,enter,tab,enter,tab,enter,tab,enter"}
```
!!! info
Did you notice the `^p palette` at the bottom right hand corner?
This is the [Command Palette](./guide/command_palette.md).
You can think of it as a dedicated command prompt for your app.
### Try it out!
The following is *not* a screenshot, but a fully interactive Textual app running in your browser.

View File

@@ -18,7 +18,7 @@ class DictionaryApp(App):
CSS_PATH = "dictionary.tcss"
def compose(self) -> ComposeResult:
yield Input(placeholder="Search for a word")
yield Input(placeholder="Search for a word", id="dictionary-search")
with VerticalScroll(id="results-container"):
yield Markdown(id="results")

View File

@@ -2,7 +2,7 @@ Screen {
background: $panel;
}
Input {
Input#dictionary-search {
dock: top;
margin: 1 0;
}

View File

@@ -935,8 +935,9 @@ class Screen(Generic[ScreenResultType], Widget):
elif (
self in self.app._background_screens and self._compositor._dirty_regions
):
# Background screen
self._set_dirty(*self._compositor._dirty_regions)
app.screen.refresh(*self._compositor._dirty_regions)
self._repaint_required = True
self._compositor._dirty_regions.clear()
self._dirty_widgets.clear()
app._update_mouse_over(self)
@@ -1097,6 +1098,7 @@ class Screen(Generic[ScreenResultType], Widget):
message.prevent_default()
widget = message.widget
assert isinstance(widget, Widget)
self._dirty_widgets.add(widget)
self.check_idle()

View File

@@ -1460,10 +1460,14 @@ def test_system_commands(snap_compare):
class SimpleApp(App):
def compose(self) -> ComposeResult:
yield Input()
input = Input()
input.cursor_blink = False
yield input
app = SimpleApp()
app.animation_level = "none"
assert snap_compare(
SimpleApp(),
app,
terminal_size=(100, 30),
press=["ctrl+p"],
)