From f8ebcffa081b57940b7441efa3ccfa862e95ca73 Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Sun, 10 Aug 2025 16:17:51 -0500 Subject: [PATCH] add api counter --- src/display_manager.py | 19 +++++++++++-------- templates/index_v2.html | 7 ++++++- web_interface_v2.py | 13 +++++++++++-- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/display_manager.py b/src/display_manager.py index 7ad48550..a212da13 100644 --- a/src/display_manager.py +++ b/src/display_manager.py @@ -394,12 +394,9 @@ class DisplayManager: # Draw the text if isinstance(current_font, freetype.Face): - # For BDF fonts, we need to adjust the y-coordinate. - # The passed 'y' is the top of the text, but our drawing function - # expects the baseline. The 'ascender' is the distance from the - # baseline to the top of the glyphs. - baseline_y = y + (current_font.size.ascender >> 6) - self._draw_bdf_text(text, x, baseline_y, color, current_font) + # For BDF fonts, _draw_bdf_text will compute the baseline from the + # provided top-left y using the font ascender. Do not adjust here. + self._draw_bdf_text(text, x, y, color, current_font) else: # For TTF fonts, use PIL's text drawing which expects top-left. self.draw.text((x, y), text, font=current_font, fill=color) @@ -636,8 +633,14 @@ class DisplayManager: snapshot_dir = os.path.dirname(self._snapshot_path) if snapshot_dir and not os.path.exists(snapshot_dir): os.makedirs(snapshot_dir, exist_ok=True) - # Write PNG snapshot - self.image.save(self._snapshot_path, format='PNG') + # Write atomically: temp then replace + tmp_path = f"{self._snapshot_path}.tmp" + self.image.save(tmp_path, format='PNG') + try: + os.replace(tmp_path, self._snapshot_path) + except Exception: + # Fallback to direct save if replace not supported + self.image.save(self._snapshot_path, format='PNG') self._last_snapshot_ts = now except Exception as e: # Snapshot failures should never break display; log at debug to avoid noise diff --git a/templates/index_v2.html b/templates/index_v2.html index 0d9c4b5c..a065835f 100644 --- a/templates/index_v2.html +++ b/templates/index_v2.html @@ -768,7 +768,7 @@ Show pixel grid