hugolabe / Wike

Wikipedia Reader for the GNOME Desktop
https://hugolabe.github.io/Wike/
GNU General Public License v3.0
252 stars 33 forks source link

"Filter languages" input does not work with on-screen-keyboards. #131

Closed Abbe98 closed 1 year ago

Abbe98 commented 1 year ago

Screenshot from 2023-04-25 11-37-13

As soon as you interact with the on screen keyboard to filter, the tooltip closes. Mostly affects mobile users but it's reproducible with the on-screen-keyboard built into Gnome.

camelCaseNick commented 1 year ago

Weather has a similar issue with potentially the same root cause: https://gitlab.gnome.org/GNOME/gnome-weather/-/issues/242

Abbe98 commented 1 year ago

Weather has a similar issue with potentially the same root cause: https://gitlab.gnome.org/GNOME/gnome-weather/-/issues/242

It's indeed very similar and I can reproduce it using the same techniques using Gnome's on-screen-keyboard as well as the one used by Phosh.

hugolabe commented 1 year ago

I have been able to reproduce it on my Fedora 38 by activating the on-screen keyboard. It seems to be because tapping outside the popover closes it (which is its normal behavior).

It could be solved by making the popover modeless, although this would imply that to close it you would have to click on the button or press the Esc key (clicking outside the popover would not be enough).

Another more drastic option would be to remove the filtering entry, which I don't know is very useful. It really only makes sense if the list is very long because you have selected all (or many) of the languages, which I don't think is common.

camelCaseNick commented 1 year ago

It seems to be because tapping outside the popover closes it (which is its normal behavior).

Yes, that is the reason. The gtk popover (being a popup in Wayland's terms) grabs all input when popover.autohide == True. You cannot for example open the Wike's settings popover and then open the shell's notification panel. You'd need to close the popover first. That the pointer input device is blocked by the popover is already seen when hovering the clock then, because it does not react to the hovering.

It could be solved by making the popover modeless, although this would imply that to close it you would have to click on the button or press the Esc key (clicking outside the popover would not be enough).

I think this problem is better addressed in the shells in question (GNOME Shell and Phosh, the GNOME Shell mobile fork has a hack to work around this). This fix would introduce a design regression for those using Wike with a physical keyboard.

Another more drastic option would be to remove the filtering entry, which I don't know is very useful. It really only makes sense if the list is very long because you have selected all (or many) of the languages, which I don't think is common.

I suppose that would make sense regardless of this issue. First, when I saw that search entry, I was even confused by it, because I expected the results to be from the full list of available languages and not just the four I selected.

hugolabe commented 1 year ago

I have removed the filter entry efddb75f9083eb20d71c910c35c4467354ba83ac

The truth is that it is hardly useful and the option to make the popover modeless would cause more problems than it solves.