On Sun, Nov 21, 2021 at 10:11:57PM +0000, Thomas Adam wrote:
> >     - Replace the pointer with an invisible one.
> >     - Warp the pointer to the middle of the screen.  There it can
> >       always be moved in all directions.
> >     - If the pointer gets too close to the page edges, warp it back
> >       to the middle of the screen.
> >     - At the end of the move, warp it back to the original
> >       position relative to the window.
> >    (- Maybe a fake cursor can be drawn at the original position so
> >       that the user does not get confused.)
>
> So... if I understand this correctly, you would have something like this:
>
>    +----------------------------------------------------------+
>    |                            S                             |
>    |                                                          |
>    |    ..................................................    |
>    |    :                                                :    |
>    |    :                                                :    |
>    |    :                                                :    |
>    |    :                                                :    |
>    |    :                                                :    |
>    |    :                                                :    |
>    |    :                                                :    |
>    |    :                       P                        :    |
>    |    :                                                :    |
>    |    :                                                :    |
>    |  +-:--X-----------+                                 :    |
>    |  | :              |                                 :    |
>    |  | :              |                                 :    |
>    |  | :              |                                 :    |
>    |  | :     W        |                                 :    |
>    |  | :              |                                 :    |
>    |  | :................................................:    |
>    |  +----------------+                                      |
>    |                                                          |
>    +----------------------------------------------------------+

Yes.  In addition "X" if the spon on the winode title where the
pointer was when it started to move the window, i.e. the position
of the fake pointer during the move.

> If I'm moving window W interactively, pointer (P) is moved to the middle of
> the screen, if I move it right, the window follows that -- but at the distance
> of the window's top border and where the pointer is, presumably?

Yes.  The window (and the "X") make the same moves as the pointer.
The offset between pointer and window stays the same.

> What if I want to have window W moved to the top-right of the screen (S)?
> Wouldn't my pointer end up being at the top of the screen before the window
> could reach it, and hence the pointer would be warped back to the middle of
> screen S?

Yes, when the pointer comes too close to any border (leaves the
dotted area on the sketch), it's warped back by the __move_loop to
the original "P" in the sketch.  Thus it can continue moving in
all directions.  Of course, the window does not follow the warp.
The (P)ointer to (W)indow offset is internally adjusted to a new
value.

Your other comments make sense.  There are no answers at the
moment.  First we need to play with it and see how it feels.

Ciao

Dominik ^_^  ^_^

--

Dominik Vogt

Reply via email to