Switch brightness control from AstalBrightness to `brightnessctl` for better
hardware support, with async system sync when the shell opens. Also change
default launchers to foot, firefox, and koreader, and update the refresh command
to the local pinenote-refresh script.
The Hyprland.Monitor.Transform enum values are not reliably accessible
in this context. Using the documented numeric values (0 for NORMAL,
3 for 270° rotation) avoids runtime lookup issues and keeps the
rotation logic working for both portrait and landscape modes.
- Add `einkRefresh()` helper calling `pdlc-cli --refresh` after rotation,
brightness changes, waveform changes, and when the widget opens
- Disable CSS transitions and animations globally to reduce ghosting
- Remove button hover transform and transition effects
- Update README with e-ink-specific guidance and tuning notes
Replace the custom GJS/GTK4 @agi/gtk3 setup with AGS v3 on GTK3 using
Astal services (Hyprland, Brightness). Updates README installation
instructions, package scripts, and rewrites main.js to use AGS JSX
widgets and reactive state bindings. Adds a minimal package-lock.json.