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
11 lines
567 B
Python
11 lines
567 B
Python
from fabric.audio import Audio # noqa: F401
|
|
from .battery import BatteryService # noqa: F401
|
|
from .brightness import Brightness # noqa: F401
|
|
from .capslock import CapsLock # noqa: F401
|
|
from .keyboard_layout import KeyboardLayout # noqa: F401
|
|
from .network import NetworkClient, Wifi, Ethernet, AccessPoint # noqa: F401
|
|
from .mpris import MprisPlayer, MprisPlayerManager # noqa: F401
|
|
from .todo import TodoService # noqa: F401
|
|
from .modus import ModusService # noqa: F401
|
|
from .config import on_config_change, start_config_service, ConfigServic # noqa: F401
|