show_skeleton is now managed by the Plasma wallpaper config directly,
so the server no longer needs toggle-skeleton, set-shortcut endpoints,
pynput hotkey listener, or the show_skeleton field in /current.
Also fixes unclosed file handle in the /art handler.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
group_into_verses() splits LRC lyrics on empty lines or timestamp gaps
>3.5s; find_active_verse() returns the current verse lines and active
index with INTER_VERSE_CAP (8s) cap on the last line of each verse.
ControlState.set_lyrics() now pre-computes verses; current() exposes
verse_lines and verse_active instead of the old 5-line lyric_context.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
current() now finds the active lyric in a non-empty-only display list
and returns a lyric_context array: [{text, offset}] for offsets -2..+2
centered on the active line. lyric_line kept for backwards compat.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>