Improved application detection, now works inside screen and tmux. Fixed incosistancies in prev/next word navigation.

This commit is contained in:
Storm Dragon
2025-07-07 11:17:12 -04:00
parent d1a42835e4
commit c7cc9d039b
4 changed files with 238 additions and 41 deletions

View File

@ -100,6 +100,15 @@ class ScreenManager:
if self.is_curr_screen_ignored_changed():
self.env["runtime"]["InputManager"].set_execute_device_grab()
self.env["runtime"]["InputManager"].handle_device_grab()
# Update current application detection on screen change
try:
self.env["runtime"]["ScreenDriver"].get_curr_application()
except Exception as e:
self.env["runtime"]["DebugManager"].write_debug_out(
f"Application detection failed: {str(e)}", debug.DebugLevel.ERROR
)
if not self.is_ignored_screen(self.env["screen"]["newTTY"]):
self.update(event_data, "onScreenChange")
self.env["screen"]["lastScreenUpdate"] = time.time()
@ -163,6 +172,7 @@ class ScreenManager:
self.env["screen"]["newTTY"] = event_data["screen"]
self.env["screen"]["new_content_text"] = event_data["text"]
# screen change
if self.is_screen_change():
self.env["screen"]["oldContentBytes"] = b""