studio icon indicating copy to clipboard operation
studio copied to clipboard

Can't access the application menu when using an RTL language on Windows

Open fluiddot opened this issue 1 year ago • 2 comments

Quick summary

The button that opens the application menu on Windows is not visible when using an RTL language.

Steps to reproduce

  1. Open the app with a non-RTL language.
  2. Observe that in the top-left corner, there's a burger menu that opens the application menu.
  3. Open the settings window.
  4. Change the language to an RTL language (e.g. Hebrew).
  5. 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

367849609-713448b2-df41-4c13-a678-2aae1bbab083

fluiddot avatar Sep 16 '24 16:09 fluiddot

📌 REPRODUCTION RESULTS

  • Tested Studio(1.1.3) on Windows 11

📌 FINDINGS/SCREENSHOTS/VIDEO

  • I also found these overlapping items: image

📌 ACTIONS

  • Triaged

Robertght avatar Oct 01 '24 16:10 Robertght

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.

Image

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.

p-jackson avatar Oct 11 '24 10:10 p-jackson

Fixed by #596

p-jackson avatar Oct 14 '24 21:10 p-jackson