Why: replaced emoji-based weather icons with a dynamic SVG mapping, introduced WEATHER_ICON_MAP, updated format_weather_data and Weather class to use icon names and svg_file, removed unused constants and clarified day/night variant handling.
- New Features
- Added WEATHER_ICON_MAP linking weather codes to SVG identifiers and supporting night variants.
- Updated format_weather_data to return icon_name and use svg_file for dynamic icon resolution.
- Modified Weather widget to set condition label via dynamic SVG files instead of emoji.
- Enhancements
- Implemented day/night icon variant logic using optimistic naming based on known variants.
- Removed unused constant imports and simplified label update logic.
- Improved error handling with explicit fallbacks for missing weather fields.
- Bug Fixes
- Fixed potential missing icon fallback by using .get with default values.
- Corrected label assignment order to match new data structure.
Enhancements
- Replace bare `except:` with `except Exception:` in multiple modules- Cast step calculation to `int` for consistent type
- Simplify `get_battery_icon_file` to return a string directly
- Use `get_todo_service()` instead of module-level `todo_service` throughout todo widget
- Remove unused `"zen": "zen-browser"` mapping entry
Bug Fixes
- Prevent bare exception swallowing by catching `Exception` explicitly
- Ensure proper cleanup of timer IDs and other resources
- Delete unused modules/osdd components
New Features
- None
New Features
- Introduce WEATHER_GRADIENT_MAP and WEATHER_EMOJI_MAP for condition‑to‑emoji mapping.
- Add SYSTEM_UPDATE_INTERVAL, WEATHER_UPDATE_INTERVAL, CALENDAR_UPDATE_INTERVAL constants and extend cache timeouts.
- Implement CpuInfo and RamInfo widgets with real‑time CPU percentage, temperature, and RAM usage display.
Enhancements
- Extend LOCATION_CACHE_TIMEOUT to 7 days.
- Integrate progress bar updates for CPU and memory usage.
- Organize desktop widget manager with separate top‑left and bottom‑right windows.
Bug Fixes
- None