Open madwort opened 1 year ago
I have a wild theory that some unexpected exception gets thrown (maybe during entering a menu shortcut?) and that causes the menubar to hide. If such an unexpected exception is thrown by the native input method, I can imagine the native input method's state is also broken.
Although the Dvorak input method is part of macOS, we can request the current input method to discard any "uncommitted" text and reset its internal state. If there is an exception being thrown and I can catch it in the NeoOffice code, then a possible solution would be to request the native input method to reset its state.
Can you try running NeoOffice in the Terminal application using the following command?:
/Applications/NeoOffice.app/Contents/MacOS/soffice.bin
When the bug occurs, are any messages printed in the Terminal window? If yes, can you copy and paste all the messages into this issue? There normal isn't any messages but native exceptions thrown by macOS will, in most cases, be output to the Terminal.
This is a long-standing bug, currently being observed in 2022.5 Professional Edition on MacOS 13.2.1.
My system keyboard input source is set to "English" -> "Dvorak. Most of the time NeoOffice responds correctly. However, from time to time the menu items disappear - so the system menu shows only the bold "NeoOffice" item and not "File", "Edit", etc. This happens regularly, often when using copy-paste, although I haven't been able to completely reliably trigger it. When this happens NeoOffice appears to function in "English" -> "Dvorak - QWERTY apple" mode. I do not have this mode enabled as an option on my computer, I have no idea why it would do this.
In practice this means that text input is as expected (e.g. typing text into a spreadsheet cell), but any shortcut keys do unexpected things (e.g. pressing Apple-S to save is interpretted as Apple-N for new file). If I switch to another application and back to NeoOffice, it often resets something, the menubar reappears, and my shortcuts are restored to what I expect.