gtk-adwaita: Seek feature
GTK4's slider/range widget is shitty, thus this feature works shitty as
well. There are no "drag ended" equivalent signal and drag start emits
JUMP scroll type value change signal. Also, setting `false` to
`sensitive` resets focus so long jump using keyboard is impossible too.
Debouncing or throttling would help a little bit, but won't solve the
problem fundamentally. Seek change events sent by server would resets
drag operation.
Valadoc shows no result for "throttle/debounce" and GTK4 seems to have
no function and widget for that. Implementing debounce/throttle function
by hand, testing that, and adding additional delay to seek triggered
by seek is not acceptable given those won't work when a track is playing.
The only way to solve this is implementing custom widget, which means
re-implementing slider UI from scratch or carefully patching and
workarounding GtkRange's internal implementation. Both are
time-consuming, exhausting, negatively effects maintainability, and
stupid.
GTK4's rendered widget is great. Its API and abstraction are dogshit.