- Add osd_show_audio/osd_show_brightness methods on OSDWindow
- Register as standalone functions in __main__ for fabric-cli exec
- Keybinds now chain fabric-cli exec after wpctl/brightnessctl
- Emit brightness signal on threshold bypass for small changes
Split the monolithic ScreenCapture service into focused Screenshot and
ScreenRecorder services behind a pluggable capture backend.
- Add shared/capture.py: CaptureBackend abstraction + HyprlandCaptureBackend
(hyprshot/grim/slurp/wf-recorder) and reusable CaptureNotifier
- Add services/screenshot.py and services/screenrecorder.py with Fabric
properties/signals; recording state kept in memory (no /tmp files)
- Keep services/screencapture.py as a backwards-compatible facade so
existing widgets and signals keep working
- Resolve monitors via Hyprland IPC helpers in services/modus.py instead of
spawning `hyprctl monitors -j` per capture
- Implement real window recording (slurp window boxes) and split the
record-window / record-region UI mappings
- Register screenshot_service / screen_recorder_service singletons
- Remove dead src/utils/inhibit.py duplicate; minor modus.lua quoting fix
- Replace commented-out launcher shortcuts with active screen capture and keyboard layout switcher.
- Update keybinding logic to use new method signatures.
Add Mods.terminal configuration for terminal icons and actions, bump version in pyproject.toml, and update dependencies including fabric from a specific commit.
Migrate launcher configuration from JSON to TOML format, add new `launcher.toml` and `mods.toml` files, remove `launcher.json`, and update project metadata in `pyproject.toml` to version 0.2.0.
The import is now performed lazily within load_config to avoid early import errors and unnecessary loading during module initialization.
- Enhancement: Lazy loading of configuration service
- Bug Fix: Prevent ImportError when services.config is unavailable during startup
Commented out deprecated keybinds and removed an unused layerrule to clean up configuration and avoid accidental triggers.
New Features
-
Enhancements
- Streamlined layerrules and removed unused definitions.
Bug Fixes
- Avoided accidental execution of stale keybinds.