New widget: Hide headerbar/toolbars when scrolling down
On my Android web browser, when I scroll down the page seems to push the headerbar up, under the shell's top panel, and when I scroll down the page seems to drag the headerbar down from under the top panel. This helps maximizing the content area without having to go fullscreen nor making the headerbar hard to reach.
This could likely be implemented as a "floating point" revealer like @exalm knows how to make them, and a scroll surface which would take all the scroll-related events and use them to reveal/conceal the revealer until it's fully revealed or concealed, then it would just let the events pass through.
The tricky part would be gestures like kinetic scrolling, as they would have to work accross the scroll surface and any underlying scroll surface. Maybe it could be implemented by making that revealer a GtkScrollable
and/or by having GtkScrolledWindow
and WebKitWebView
have a signal to first ask if something wants to consume the scroll they computed (returning any remainder), wherever it comes from (direct scroll, kintetic scrolling…).
We also have to take the bottom actionbars into account, we likely could have the headerbar consume the scroll events, and sync the headerbar and the actionbar indpendently from the scrolling.
Design input is likely needed, so cc @tobias.bernard and @sam.hewitt.