GNOME Bugzilla – Bug 754789
Navigation controls disappear when hovering
Last modified: 2021-07-05 11:31:25 UTC
If we leave the pointer hovering the navigation controls, the controls disappear.
Created attachment 311007 [details] [review] preview: Don't hide navigation controls when hovering
Review of attachment 311007 [details] [review]: I wonder if this breaks when mixing touchpad/mouse use and touch. Looks fine otherwise.
Review of attachment 311007 [details] [review]: Let's get this in after freeze
Just trying to understand what is going on here ... (In reply to Alessandro Bono from comment #0) > If we leave the pointer hovering the navigation controls, the controls > disappear. Does this only happen if you are hovering over the GdNavBar? If you hover over the previous and next buttons then does it stop the overlaid widgets from getting hidden? Atleast that is what I am seeing. The existing code assumes that we will stop getting GtkOverlay::motion-notify-event once we enter an overlaid widget. This works for GtkButton::enter-notify-event, but not for GdNavBar::notify::hover. The patch makes it more explicit by introducing a new state tracking variable. I wonder if we should fix GdNavbar to behave more like GtkButton. Unrelated, but how about using a GtkRevealer instead of Tweener?
Pushed an even simpler version of this that does not need the additional state. Debarshi, unfortunately it's not easy to fix GdNavBar to emit signals like that, and I think this patch makes sense as it is. Attachment 311007 [details] pushed as 1a71b99 - preview: Don't hide navigation controls when hovering
(In reply to Cosimo Cecchi from comment #5) > Pushed an even simpler version of this that does not need the additional > state. > Debarshi, unfortunately it's not easy to fix GdNavBar to emit signals like > that, and I think this patch makes sense as it is. Ok, cool.
There is a corner case not covered by the patch committed. If you hover and unhover quickly on the left/right arrows the function this._motionTimeout() is called while hovering, queuing the autohide. The original patch should fix it, but I don't know if it is the right approach. I'll attach a patch and a video to show the problem.
Created attachment 313702 [details] video showing the problem
Created attachment 313703 [details] [review] Show corner case
Alessandro, thanks for following up. Let's go with your original approach then. Could you prepare a patch for that?
Created attachment 313705 [details] [review] preview: Don't hide arrows in some cases
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/gnome-documents/-/issues/ Thank you for your understanding and your help.