Subject: bug#47360: 27.1; using 'bar cursor, mouseclick is rounded to the wrong char position

From: Julian Rohrhuber <[email-masked]>
Date: Sat, 27 Mar 2021 17:53:41 +0000

> On 24. Mar 2021, at 20:08, Julian Rohrhuber <[email-masked]> wrote:
>
>> On 24. Mar 2021, at 19:39, Lars Ingebrigtsen <[email-masked]> wrote:
>>
>>
>> Julian Rohrhuber <[email-masked]> writes:
>>
>>> But when in bar mode, it should jump to the right when the click is
>>> right of the middle of the character, and only left when to its left
>>> of the middle.
>>>
>>> Instead, it also jumps to the left.
>>
>> The cursor shape is purely cosmetic at present, I think.  Your
>> suggestion to add semantics to the bar shape makes some intuitive sense,
>> but I'm afraid that might leave us open to user interface
>> inconsistencies unless considered carefully.
>
> yes, I definitely see your point here. The concept of a bar is indeed more than cosmetic, even if perhaps the differences are easily taken into account.
>
> For those who use other editors are habituated very deeply to a specific behaviour of the bar, and anything that deviates from this feels subtly but clearly broken.
>
>
>> Are there other instances we might want to do something based on the
>> cursor shape other than setting point with the mouse, I wonder?  Would
>> "marking an area to the left" (i.e., clicking on a character and then
>> dragging to the left) be handled differently?  In that case, dragging
>> starting with the mouse at any point right of the bar cursor should
>> perhaps include the character under point, and not just at the half-way
>> point?
>
> I've checked with some editors, e.g atom (using huge font is easiest), the selection works just like the jump (so it is a selection of zero length). When you click to the right of the middle of a character and then drag to the left, the character will be included. If you drag to the right it will not be included.

There is one more case where one can feel the difference: when selecting with the mouse and dragging to the right, the selection jumps to each character a little "too late", that is, after you have already crossed the position you want the selection to end at. You have to point to a character *after* the one you want to include. The current selection always is up to one character behind the cursor barline.  This results in a "sticky" feeling.