[Regression] Input method does not work in Alt-F2 prompt
Recently, I found I can no longer type Chinese with ibus-chewing input method in Alt-F2 prompt. This problem can be found in both GNOME Shell 3.28.3 and the current master branch (commit cf69fe4b). GNOME Shell 3.27.1 doesn't have the problem, so I think it is a regression of GNOME Shell 3.28.
By using git bisect
, I found it can be worked around by reverting commit d1bebba7, 83accce2, d86b62d1.
I recorded two screencasts to demonstrate the problem.
The first one is the working one. Here are steps I did in the video:
- Press Alt-F2 to open the prompt.
- Type
nautilus
. - Press Ctrl-Space to switch the input method.
- Type
vu84y94
(ㄒㄧㄚˋㄗㄞˋ) and the input method showed下在
as the preedit string inline. - Since the input method chose the wrong character, I used the arrow key to choose the correct one.
- Now the preedit string
下載
was correct. I pressed Enter to submit it to GNOME Shell. - Press Enter again to execute the command
nautilus 下載
. - Nautilus showed up with 下載 folder opened. 來自_2018-07-27_螢幕廣播_00時17分46秒
The second one is the broken one. Here are steps I did in the video:
- Press Alt-F2 to open the prompt.
- Type
nautilus
. - Press Ctrl-Space to switch the input method.
- Type
vu84y94
(ㄒㄧㄚˋㄗㄞˋ) and the input method showed下載
as the preedit string with a popup. - Since the input method already chose the correct characters, I didn't have to use arrow key to change it.
- Press Enter to submit the preedit string to GNOME Shell.
- The string didn't seem to be submitted and GNOME Shell, and GNOME Shell ran
nautilus
without waiting me to press the second Enter. This is a wrong behavior because the first Enter was intended to submit the preedit string, not to execute the command. - Nautilus showed up with my home directory opened. GNOME Shell didn't pass 下載 I typed to Nautilus, and Nautilus was started without arguments. 來自_2018-07-27_螢幕廣播_00時21分39秒
You can see problems in step 3, 7, 8, and behavior differences in all these steps cause difficulty when using Alt-F2 prompt. Sometimes the popup doesn't show below the text entry but appears at the top-left corner or any other random location on the screen. Text I typed with ibus-chewing input method is ignored and I have to open gedit to type text and copy it back to Alt-F2 prompt in order to tell GNOME Shell to run the correct command, which is very inconvenient.