Removed pyotp, pyzbar, and thefuzz from pyproject.toml and requirements.txt to simplify dependencies.
- Enhancements
- Cleaned up redundant dependencies.
- Bug Fixes
- None.
Add httpx>=0.28.1 as a new HTTP client dependency.
New Features- Added httpx>=0.28.1 to pyproject.toml and requirements.txt.
Enhancements
- Updated uv.lock to include httpx package metadata.
Bug Fixes
- None.
Add UI positioning windows and streamline dependency list to improve maintainability.
- New Features:
- Added deskwidget.top_left and deskwidget.bottom_left to main.py.
- Enhancements:
- Updated pyproject.toml and requirements.txt: removed unused packages and pinned pywayland==0.4.18.
- refreshed uv.lock metadata.
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