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
--
Shachar Shemesh
Lingnu Open Source Consulting Ltd.
http://www.lingnu.com