From c4ae27a01b17f840cb1dcf3dc181d070d85db614 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sat, 20 Dec 2025 06:59:19 -0500 Subject: [PATCH] More progress bar tweaks. --- .../onScreenUpdate/65000-progress_detector.py | 25 ++++++++++++++++++- src/fenrirscreenreader/fenrirVersion.py | 2 +- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/fenrirscreenreader/commands/onScreenUpdate/65000-progress_detector.py b/src/fenrirscreenreader/commands/onScreenUpdate/65000-progress_detector.py index f67312be..c7637e2c 100644 --- a/src/fenrirscreenreader/commands/onScreenUpdate/65000-progress_detector.py +++ b/src/fenrirscreenreader/commands/onScreenUpdate/65000-progress_detector.py @@ -327,7 +327,7 @@ class command: # Pattern 6b: Claude Code tool invocation indicators (● Tool Name(...)) # Example: ● Web Search("query here") tool_invocation_match = re.search( - r'[●○◉]\s+(?:Web\s*Search|Read|Write|Edit|Bash|Glob|Grep|Task|WebFetch)\s*\(', + r'[●○◉•◦]\s+(?:Web\s*Search|Read|Write|Edit|Bash|Glob|Grep|Task|WebFetch)\s*\(', text, re.IGNORECASE, ) @@ -341,6 +341,29 @@ class command: self.env["commandBuffer"]["lastProgressTime"] = current_time return + # Pattern 6c: Bullet/white bullet activity lines (•/◦ ...) + bullet_activity_match = re.search( + ( + r'^\s*[•◦]\s+.*(?:…|\.{3,}|\b(?:thinking|working|processing|' + r'analyzing|searching|reading|writing|planning|running|' + r'executing|updating|building|installing|compiling|downloading|' + r'reviewing|generating|responding|applying|fixing|editing|' + r'creating|preparing|checking|opening|loading|fetching|' + r'retrieving|scanning|indexing|summarizing)\b)' + ), + text, + re.IGNORECASE, + ) + if bullet_activity_match: + if current_time - self.env["commandBuffer"]["lastProgressTime"] >= 1.0: + self.env["runtime"]["DebugManager"].write_debug_out( + "Playing bullet activity beep", + debug.DebugLevel.INFO, + ) + self.play_activity_beep() + self.env["commandBuffer"]["lastProgressTime"] = current_time + return + # Pattern 7: Moon phase spinner indicators moon_match = re.search(r'[🌑🌒🌓🌔🌕🌖🌗🌘]', text) if moon_match: diff --git a/src/fenrirscreenreader/fenrirVersion.py b/src/fenrirscreenreader/fenrirVersion.py index 355398d2..9189989e 100644 --- a/src/fenrirscreenreader/fenrirVersion.py +++ b/src/fenrirscreenreader/fenrirVersion.py @@ -4,5 +4,5 @@ # Fenrir TTY screen reader # By Chrys, Storm Dragon, and contributors. -version = "2025.12.19" +version = "2025.12.20" code_name = "testing"