BUG Regression: gnome-shell no longer usable for Point of Sale or Kiosk applications due to Window Placement and On-Screen keyboard bugs
Affected version
GNOME Shell 3.36.3 Ubuntu 20.04 LTS XOrg - Incorrect Window Placement and Onscreen Keyboard issues Wayland - Correct Window Placement and Onscreen Keyboard stays down when using the application Wayland comes with it's own challenges as there is currently no remote desktop control software compatible with Wayland so I can't take over the screen to help my customers when they have an issue.
Bug summary
For Point of Sale applications the monitors are opposing each other, with a Touchscreen facing the cashier and a non-touch monitor facing the customer. There is no mouse or keyboard attached (kiosk), and the application itself contains all the buttons that are needed to communicate with the computer.
In the newer version of gnome-shell XOrg (in Ubuntu 20.04 and yes I reported it there first) the window placement is no longer following the principle of "Where the human pressed the button the window shall open". Instead for example the payment window and on-screen keyboard pops up on the customer display. This makes it seem like the system is non responsive as there is no input access to the customer display.
Steps to reproduce
- Install a fresh copy of Ubuntu 20.04 LTS on a computer with one Touchscreen and one non-touch. 1a. Negotiate with the computer for several hours until you can convince it to only touch on the touchable area and not across both screens. still haven't figured out how to "xinput map-to-output " in a systemd daemon. And why on earth xinput map-to-output is not on by default is the biggest unsolved gnome-shell mystery. But that's for another bug.
- Install Chromispos (the open source Point of Sale that we use)
- Click on a product
- Press the = bar on the touchpad
- On Xorg the Payment pop-up where the cashier chooses the payment type like Cash or Card the window will appear on the second screen where there is no access. 5a. On Wayland it pops up just under the = bar
- On Xorg every thing you touch in the Point of Sale system will pop up the on screen keyboard and move the point of sale system up and down around the screen
- On Wayland the on screen keyboard seems a bit better behaved in the sense that it doesn't pop up at all. In this use case it's the correct behavior.
What happened
gnome-shell places windows on a different screen than the one they are opened from and the onscreen keyboard under XOrg pops up randomly when touching anything within the application making it impossible to use the system. Wayland doesn't allow remote desktop access and there are no remote screen sharing providers who support Wayland so it's impossible to offer end user support.
What did you expect to happen
I expected gnome-shell to pop up windows on the same screen/monitor where the button that was pressed. I expected the on-screen keyboard to be on-demand when the end user chooses to open the keyboard and not open at all when inside the application which contains all buttons already needed for operation. I expected the Point of Sale kiosks to remain usable after upgrading to a newer release with a newer version of Gnome-Shell.
Relevant logs, screenshots, screencasts etc.
Here you can see what is happening when the = is pressed
Here you can see that all extensions have been disabled and that I tried the window move extension which doesn't work
Here you can see that I tried Mutter/Center window. This doesn't work at all and is either ignored completely or puts the window in between the two monitors. Like an easter-egg joke.
Here is what happens when the On-Screen keyboard is enabled
Here is what happens again when the On-Screen Keyboard is enabled and someone opens the payment screen with = Notice that the on screen keyboard has popped up on the customer display where there is no input available
Here is a machine in Production so you can visualize opposing monitors and why this is a valid regression bug.
and the other side
Thanks very much for looking into this. I've been using gnome in some form or another in my systems since the beginning around 20 years ago and give a percentage of my profits back to open source in addition to a lot of my time.
Hopefully the use case is clear, that touchscreens are not always tablets and that this is easy to fix.
Thanks again and may all be healthy and happy.