Re: [RFC] _NET_WORKAREA and Xinerama



Soeren Sandmann wrote:
Havoc Pennington <hp redhat com> writes:


So once you have your contiguous region, possible window positions and
sizes are those that are inside this region. Maybe there is a
reasonable way to compute that.


Note that you don't want a window to skip over a solid area during
drag:

  ###############################################################
  -------------------------|######|------------------------------
                           |######|
      +--------------+     |######|        ................
      |              |     |######|        .              .
      |   A          |     |######|        .   B          .
      |              |     +------+        .              .
      |              |                     .              .
      |              |                     .              .
      |              |                     .              .
      +--------------+                     ................


In the situation above you shouldn't be able to drag a window from
postion A to position B even though both positions are legal.

Why ?

You drag a window untill it "bumps" into forbidden area, and then let user move mouse further to the left without changing position of the window, but once its crossing threshold - you can warp window past the obstacle.

At least that's how user expects it.
I don't really see whats the problem with that approach and why struts has to make contiguous region. The algorithms for avoiding arbitrary non-contiguous area are many and trivial to implement - I do all of the above plus edge snapping in about 100 lines of code in AfterStep.


Sasha





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]