This change introduces the Dock component to the application, enhancing UI consistency and providing system‑level dock management capabilities.
- **New Features**: Instantiated `Dock` and integrated it into the launcher widget list.
- **Enhancements**: Early initialization of Dock for smoother startup and better configuration flow.
- **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
New Features
- Introduced OSD functionality integrated into the application.
Enhancements
- Removed unused stylesheet imports from main.css and corrected the stylesheet path to `styles/main.css`.
- Adjusted the lambda in the network service for consistent method invocation.
Bug Fixes
- Ensured `on_access_point_activated` is properly called when the active access point changes.
The Deskwidgets module is now imported, instantiated, and integrated into the main application, expanding desktop widget capabilities.
New Features
- Added Deskwidgets import and instantiation.
- Integrated Deskwidgets into the Application instance.
Enhancements
- Removed stale comments and activated the component.
Bug Fixes
- None
Add explicit pyproject.toml with project metadata, dependency groups, and uv lock configuration.
- New Features
- Introduce pyproject.toml defining package name, version, description, and runtime dependencies.
- Declare dependencies in a structured list and development groups.
- Enhancements
- Consolidate and clean up imports in lock.py and main.py.
- Replace hard‑coded logger disable entries with targeted fabric module names.
- Streamline Application initialization by removing unused components.
- Bug Fixes
- Resolve missing imports that caused NameError.
- Correct import ordering for static analysis compliance.
- Align dependency versions with uv.lock for reproducibility.