studio
studio copied to clipboard
Can't access the application menu when using an RTL language on Windows
Quick summary
The button that opens the application menu on Windows is not visible when using an RTL language.
Steps to reproduce
- Open the app with a non-RTL language.
- Observe that in the top-left corner, there's a burger menu that opens the application menu.
- Open the settings window.
- Change the language to an RTL language (e.g. Hebrew).
- Observe that the button is no longer visible.
What you expected to happen
The application menu should be accessible when using any language.
What actually happened
The application menu is not accessible when using an RTL language.
Impact
Some (< 50%)
Available workarounds?
No but the app is still usable
Platform
Windows
Logs or notes
📌 REPRODUCTION RESULTS
- Tested Studio(1.1.3) on Windows 11
📌 FINDINGS/SCREENSHOTS/VIDEO
- I also found these overlapping items:
📌 ACTIONS
- Triaged
Setting the app language to Arabic flips the order of the topbar controls. However it doesn't move the location of the standard Windows controls. To do that the language needs to be changed on an operating system level.
If I hardcode the window frame to show in Arabic (as well as our internal app setting) then things look more correct. There's still some padding that needs to be adjusted, but it's a lot closer.
Ideally we'd be able to detect and handle both cases:
- If studio settings are set to RTL and the OS is set to RTL
- If studio settings are set to RTL but the OS is set to LTR (as in the original bug report)
The reason I think both are important is because it's so easy to click through the languages without resting your system, and you wouldn't expect it to look borked.
It looks like it's possible to distinguish in the UI when the browser frame itself is set to a RTL language using: new Intl.Locale(navigator.language).textInfo.direction. So I think we can make it.
Maybe as a follow up task, we could have Studio offer to restart itself whenever the user switches languages, so that the studio setting and browser frame setting are always aligned.
Fixed by #596