New Features
- Introduced StartupWMClass matching and content‑based fallback for .desktop files
- Added ordered search terms with exact, prefix, and contains strategies- Implemented multi‑step icon retrieval: resolver, direct path, emoji fallback
Enhancements
- Replaced list‑based match attempts with priority‑ordered search flow
- Streamlined parsing of desktop entries by section and key handling- Improved error resilience by using continue on exceptionsBug Fixes
- Fixed potential missing icon assignment when pixbuf lookup fails
- Corrected comment fallback logic to use GenericName when Comment is empty
Introduce a new OSDWindow implementation, expose keyboard layout configuration, and modernize dependency handling and helper utilities.
- **New Features**
- Added `keyboard_layouts` list (`us`, `np`) to `config.json`
- Created `OSDWindow` class and updated `main.py` to use it
- Introduced new service modules (`battery`, `brightness`, `capslock`, `network`, `mpris`, `todo`, `modus`) and expanded `services/__init__.py`
- Added `CommandResult` and `run_command` helper in `utils/functions.py`
- **Enhancements**
- Upgraded numerous dependencies to newer versions and switched `fabric` to a git source
- Replaced bare `except:` with `except Exception:` in `WiFiPasswordDialog`
- Improved type hints (`NamedTuple`, `TypeVar`) and refactored JSON file helpers
- Added property notifications for battery percentage, state, and presence
- **Bug Fixes**
- Fixed incorrect return type annotation in `read_json_file`
- Corrected tick‑handler logic to avoid double registration
- Properly notify listeners on battery property changes
- Ensured proper exception handling and cleanup in utility functions
Remove dead code and redundant blank lines, simplify timer interval selection, and ensure proper realization handling. This improves readability and prevents potential runtime issues.
New Features
-
Enhancements
- Refined timer interval calculation for clarity
- Consolidated easing function stubs for consistency
Bug Fixes
- Fixed missing realize handler connection in SlideRevealer
- Eliminated stray blank line that could affect indentation
Introduce a new config.json, modernize CSS for dock, battery, and about windows, and clean up obsolete styling.
New Features
- Add `config.json` with wallpaper directory, dock position, and UI flags.
- Create `styles/constant.css` for shared color definitions.
- Rename and style `styles/battery.css` with new visual rules.
- Update hover background in `styles/about.css`.
Enhancements
- Remove deprecated dock CSS to simplify the stylesheet.
- Streamline layer window setup and input handling.
Bug Fixes
- Resolve hover styling conflict in about.css.
- Ensure consistent theming across new style files.