9 Commits

Author SHA1 Message Date
kilyabin 0c5a6d565c perf: fix WaitUntil being bypassed by request_redraw in AboutToWait
Calling request_redraw() inside AboutToWait immediately woke the event
loop on every iteration, making WaitUntil a no-op and producing a
busy-loop (98% CPU). Move request_redraw to NewEvents(ResumeTimeReached)
so the thread actually sleeps between frames.
v0.1.1
2026-06-18 02:33:23 +04:00
kilyabin 4b30a1d260 perf: replace busy-loop Poll with WaitUntil frame limiter
Screensaver was consuming ~8% CPU due to ControlFlow::Poll rendering
as fast as possible. Switch to WaitUntil with configurable FPS cap.
Blank and image screensavers auto-cap at 2fps since they have no
animation, reducing CPU usage to near zero.
2026-06-18 02:29:20 +04:00
kilyabin e9cc21034a fix: switch reqwest to rustls-tls for cross-compilation compatibility v0.1.0 2026-06-18 00:52:12 +04:00
kilyabin 17f8a13188 fix: resolve all clippy warnings breaking CI
- introduce Color struct to reduce argument count in canvas drawing functions
- remove unused write_to method
- use is_multiple_of() per clippy suggestion
2026-06-18 00:45:31 +04:00
kilyabin 1978c14a68 docs: extend disclaimer banner with contribution note 2026-06-18 00:41:18 +04:00
kilyabin 2a545e2f24 docs: add personal-use disclaimer banner 2026-06-18 00:39:08 +04:00
kilyabin c2cb260c9f ci: add GitHub Actions workflows for CI and release builds 2026-06-18 00:36:46 +04:00
kilyabin c42cf61db4 chore: add README to root 2026-06-18 00:36:46 +04:00
kilyabin 95c0373db6 feat: initial implementation of scr33ny OLED screensaver
Screensavers: blank (pure black), GIF animation, static image, text
with float/typewriter/fade animations.

Widgets: digital/analog clock, date, weather (OpenWeatherMap API).
Anti burn-in pixel shift with configurable interval.
Wayland-native via winit 0.29 + softbuffer 0.4.
TOML config with serde, full CLI via clap, idle daemon mode.
2026-06-18 00:36:46 +04:00