- New Features
- Expand search terms to handle reverse DNS and decorated names, increasing match coverage
- Introduce priority‑based matching (exact window_class, name, executable) before falling back to fuzzier containment
- Early exit when no search terms are available
- Enhancements
- Refactor search term collection and normalization for better readability and performance
- Add handling for common wrapper executables to prevent false positives
- Implement fuzzy containment matching for partial name matches
- Bug Fixes
- Fix return logic when search terms are empty to avoid unintended None returns
- Correct order of priority checks to prioritize exact matches over fuzzy matches
New Features
- Introduce a random ticket mechanism to prevent rapid hide/show cycles.
- Add `_get_dock_config` helper to centralize position‑specific configuration.
- Refactor `_create_pinned_button` and `_populate_pinned_apps` for clarity and reuse.
Enhancements- Replace manual child removal with `clear_children` utility.
- Extract `_get_app_icon` to simplify icon resolution.
- Streamline imports and use explicit imports.
Bug Fixes
- Resolve hover race condition using ticket comparison.
- Ensure occlusion checks respect `DOCK_ALWAYS_OCCLUDED` correctly.
Enhancements:
- Add optimized night‑variant detection for weather icons using a predefined list
- Replace `Svg` usage with direct `svg_file` calls throughout the todo widget, removing redundant relative‑path logic
- Update dock and battery modules to load assets via direct paths, eliminating unnecessary `get_relative_path` calls- Introduce `WEATHER_CACHE_TIMEOUT` constant and tidy up unused imports (`WEATHER_EMOJI_MAP` removed)
- Minor formatting and structural clean‑ups that improve code readability
Bug Fixes:
- Remove dead import of `WEATHER_EMOJI_MAP` and unused constant `WEATHER_EMOJI_MAP`
- Correct syntax of `condition_em` initialization to avoid potential rendering issues
New Features:
- None.
- Refactor dock update loop to use explicit parentheses and improve readability
- Fix closure capture in OTP plugin action to correctly pass current code
- Remove redundant lambda wrapper in player label binding
- Update logger messages with full exception context
- Adjust imports and naming for consistency across modules
- Minor code style updates and whitespace cleanup