Andre Poenitz wrote:
On Sun, May 06, 2007 at 03:19:05AM +0300, Dov Feldstern wrote:
Attached is a fix for (1) and (2) (but not (3)) of bug 3551 (http://bugzilla.lyx.org/show_bug.cgi?id=3551). I'd be happy to hear any comments, I'm not sure that I understand everything that I did, but it does work.

Have you checked in deeply nested insets? Isn't outerParagraph the
outmost level?

Andre'


Well, yes, that's what I intended... Is this the behavior we want? I'm not sure.

My reasoning is this: When I'm in an RTL paragraph, I want to be able to get from the beginning of the paragraph to its end by holding down one arrow key. Therefore, I want the same arrow key to mean "logical forward" throughout the whole paragraph --- and if I have insets open, then I want to be able to traverse those insets in the same manner. That's why I want the outermost paragraph to determine whether a specific arrow means forward or backwards, for all insets inside it, no matter how deeply nested.

This seems to make sense (to me, anyhow, an RTL user who likes logical mode movement ;) ) for short insets. For long insets, it's more complicated: if I have three paragraphs inside a footnote, and the footnote is in the opposite language from the paragraph, do I really want to have to use the arrow keys "backwards" for all those paragraphs? I'm not sure.

But you have to realize a few things:
*) There is no "right" solution -- there'll always be some quirks. That's the bane of using a "backwards" language... ;) And how to correctly deal with this, is, in the end, very much a matter of taste. *) The more common situation, I think, is for insets to be relatively short, and in those cases I think its clearer that this suggestion makes sense. *) If a user is trying to move around inside a document, and presses an arrow key, he very quickly discovers if the cursor is moving in the expected direction or the opposite direction, and quickly adjusts accordingly. So even if the directions are opposite his expectation, it's not so bad --- you'd be surprised how quickly you adjust to that. The more disruptive behavior, I think, is the situation I described above, where you're trying to quickly traverse a large chunk of text, and suddenly your cursor gets "stuck". In that case, to get out of being stuck, you have to carefully move in one direction and then the other, be careful what direction you move in to enter and exit the inset, until you have passed the "obstacle", and then you reach the next one... That's why I feel that it is important that within a top-most level paragraph, and all insets nested in it, a specific arrow key have only one logical meaning: forward or backwards.

(Of course, now you run into the same problem between paragraphs, so one could claim that perhaps in the entire document an arrow key should have only one logical meaning, to be determined by the document's language. However, to me that seems like overkill. Again, this is very much a matter of taste... ;) )

Dov

Reply via email to