Skip to content

1.2

Choose a tag to compare

@Matteo842 Matteo842 released this 06 May 23:30
· 5 commits to master since this release

v1.2

🐛 Bug Fixes

  • Fixed overlay content being cut off when only FPS is displayed without additional metrics. The overlay width is now fully content-driven instead of being clamped to a fixed size. (#1)
  • Fixed unnecessary bottom padding in the overlay. Height is now calculated precisely from the number of visible lines plus minimal padding, eliminating the dead space below the last metric.
  • Fixed overlay appearing on non-game fullscreen applications such as Windows Explorer, browsers (Chrome, Edge, Firefox), Settings, and other desktop apps. A curated exclusion list of ~25 common non-game processes is now checked before showing the overlay. (#1)

🌐 Localization

  • Unified all UI text to English. The system tray menu ("Impostazioni" → "Settings", "Esci" → "Exit"), tooltip, settings window title, and all error messages are now consistently in English. (#1)

⚡ Performance

  • Optimized GDI font handling in the overlay renderer. The font is now created once per paint cycle and reused across all stat lines, instead of being allocated and destroyed for each individual line.
  • Removed unused ferrisetw dependency, reducing binary size and compile time.

🔧 Code Quality

  • Eliminated unsafe static mut for the tray icon storage. Replaced with a safe Mutex-wrapped newtype pattern (TrayIconHolder) with documented safety invariants.
  • Added Drop implementation for SystemMonitor to automatically release PDH query handles, preventing potential resource leaks on shutdown.
  • Improved debug logging with human-readable timestamps (HH:MM:SS) instead of raw Unix epoch seconds.
  • Deduplicated overlay dimension logic — width and height are now computed in a single calculate_dimensions() function used by both the window positioning and painting code.