File tree Expand file tree Collapse file tree 3 files changed +10
-8
lines changed Expand file tree Collapse file tree 3 files changed +10
-8
lines changed Original file line number Diff line number Diff line change @@ -331,9 +331,8 @@ async def bindings_changed(self, screen: Screen) -> None:
331331 self ._bindings_ready = True
332332 if not screen .app .app_focus :
333333 return
334- self .app .delay_update ()
335334 if self .is_attached and screen is self .screen :
336- await self .recompose ( )
335+ self .call_after_refresh ( self . recompose )
337336
338337 def _on_mouse_scroll_down (self , event : events .MouseScrollDown ) -> None :
339338 if self .allow_horizontal_scroll :
Original file line number Diff line number Diff line change @@ -79,7 +79,10 @@ class HelpPanel(Widget):
7979 DEFAULT_CLASSES = "-textual-system"
8080
8181 def on_mount (self ):
82- self .watch (self .screen , "focused" , self .update_help )
82+ def update_help (focused_widget : Widget | None ):
83+ self .update_help (focused_widget )
84+
85+ self .watch (self .screen , "focused" , update_help )
8386
8487 def update_help (self , focused_widget : Widget | None ) -> None :
8588 """Update the help for the focused widget.
Original file line number Diff line number Diff line change 11from __future__ import annotations
22
33from collections import defaultdict
4- from functools import partial
54from itertools import groupby
65from operator import itemgetter
76from typing import TYPE_CHECKING
@@ -164,16 +163,17 @@ def compose(self) -> ComposeResult:
164163 yield BindingsTable (shrink = True , expand = False )
165164
166165 async def on_mount (self ) -> None :
166+ mount_screen = self .screen
167+
167168 async def bindings_changed (screen : Screen ) -> None :
168169 """Update bindings."""
169170 if not screen .app .app_focus :
170171 return
171- if self .is_attached and screen is self . screen :
172- self .refresh ( recompose = True )
172+ if self .is_attached and screen is mount_screen :
173+ await self .recompose ( )
173174
174175 def _bindings_changed (screen : Screen ) -> None :
175- """Update bindings after a short delay."""
176- screen .set_timer (1 / 20 , partial (bindings_changed , screen ))
176+ self .call_after_refresh (bindings_changed , screen )
177177
178178 self .set_class (self .app .ansi_color , "-ansi-scrollbar" )
179179 self .screen .bindings_updated_signal .subscribe (self , _bindings_changed )
You can’t perform that action at this time.
0 commit comments