Paul Vriens wrote:
Hi,
I've been in talks with a Hebrew translator for some time now and I'd like to have Wine being able to start doing more RTL stuff.
I'm looking for example at http://bugs.winehq.org/show_bug.cgi?id=1158
If I run an English winmine.exe on an Arabic box (thanks to the testbot) the main window will shows as normal LTR window layout with the menu's left justified as well.
So eventhough the locale is set to Arabic it doesn't turn 'everything' into RTL.
If we don't change the resource files for the RTL languages, that same logic will give us LTR Wine applications or am I wrong here?
An English app running on a Hebrew Windows does not automatically get entirely reversed. There are two parts to this question, and I believe that Wine should handle those parts differently.
One part are the Windows decorations - close button, minimize, maximize, etc. Under Windows, if an application is reversed, so are these. I believe Wine should not attempt to replicate this behavior for the following reasons:
* It is a broken design decision. Its implications are that on the same desktop, some windows have their close button on the left, others on the right. In my experience, this does nothing to enhance the user's experience. * It is difficult to implement. The decorations on Wine windows are drawn by the X window manager. We would have to convince each window manager to reverse the window decorations on our say so. I am not aware of such an API existing, which means lots and lots and lots of bugs. * As an aggregate of the above two - the window decorations are, today, not defined by Wine to be part of the "windows experience", and as such, if the Windows behavior is broken, we need not replicate it.
The other part is the actual content of the window. Here there is a need to support exactly what Windows is doing, as that is the API. As a side note, I'll add that I think that is broken too. Mirroring should not be done automatically, and reading the MSDN article that Dmitry references just shows how many ways it can, indeed, break. That said, Wine did commit to being bug-compatible with Windows, so that part should, *eventually*, be implemented.
I do agree with Alexandre that there are many things more pressing on the BiDi front to handle.
Shachar