A couple keyboard and player ideas
Had a couple scattered ideas for further streamlining the keyboard shortcuts and video player UI. If, @Schmiddiii and @lo2dev, y'all are ok with the plan below, I'll get to work!
Playback
YouTube and a couple other online players I've encountered use these shortcuts:
- [Left Arrow]: Back 5 seconds
- [Right Arrow]: Forward 5 seconds
- [J]: Back 10 seconds
- [L]: Forward 10 seconds
- [K]/[Space]: Pause/Play
I propose that we adopt these shortcuts. Having distinct "short seek" and "long seek" shortcuts a) is nice design and also b) makes it easier for someone coming from YouTube or other similar online platforms to focus on Pipeline's benefits rather than learning new controls.
Relevant player design
The plan:
- Add a custom osd Billboard-esque widget to the player with...
- lower hang time. It should start fading immediately.
- circular appearance to better mirror the circular icons inside (e.g. "skip-forward-10-symbolic")
- Make "skip-forward-5-symbolic" and "skip-backwards-5-symbolic" based on their 10-second counterparts
- Implement the shortcuts in VideoPage code, VideoPage blueprint, and describe them in the ShortcutsDialog
- Probably restructure the shortcut dialog a bit so it's not too right-heavy.
Here's a very silly and rough demo I made by hacking in the inspector a bit, just to give the general idea:
Navigation
Just one thought here. I think the "page navigation" shortcuts should be alt+[number] rather than ctrl+[number]. This tripped me up when I started using the app, as most GNOME apps with tabs or view switchers use the former.
Previously, there were some issues with keyboard focus blocking shortcuts, but that has been solved as far as I can see by !297 (merged). Just a general note-to-self to make sure shortcuts work as widely as possible.