Neil Pilgrim <[EMAIL PROTECTED]> wrote: > > >http://sourceforge.net/tracker/index.php?func=detail&aid=656488&group_id=16307&atid=116307
[Feature-Request: Limiting Pointer Motion to some area] > Unsurprisingly, this came up when discussing why you could drop a > (fresco) window outside of the viewable area (desktop), ie. you can lose > a fresco window 'permanently' (assuming no other way to operate on a > window). Standard behavior - can be done with X as well by moving it outside the visible area. WM-Issue, if it forces some part to be still seen or gives other access to the window (Windowlists etc). I happen to hate WMs that disallow me placing windows partially outside of the viewable area. I regularly do so, to get windows "out of the way" and later drag them back (I do leave a handle on screen, though). > On the contrary, our SDL console supports this - drag actions > automatically stop at the window boundary, so the title-bar (or other > draggable-region) is guaranteed to be left visible on the desktop; afaik > this is just built into SDL. I see. Though I think I dislike it, depending on the exact semantics. At least I like it, that I can pull the mouse cursor out of a GGI window while "dragging" and still keep sending mouse events to the window. I use that for controlling a 3D rendering engine, and it would get on my nerves to have to restart dragging (i.e. turning or moving e.g.) just because I hit the window border. If this gets inserted into the codebase, please insert as option, default being off. > Would it be appropriate to have in libgii, for example, a way for > the pointer to 'jump' to some nearest 'active location', for example? Well for that case IMHO the application should choose, what the 'nearest' thing to jump to is, as this can be an arbitrarily complex thing to decide - it might even have to take last position and direction of movement into account (say for e.g. only allowing the cursor on buttons, but with space between them ...). But providing a way to place pointer would probably be nice, though it must be understood, that this might not be possible on all targets. Actually that might already solve the problem, as the app can then just reset the pointer, if it moves outside an arbitrarily complex shape the application can check for, and the application can decide a reasonable place withing the allowed area to set the cursor back to. CU, Andy -- = Andreas Beck | Email : <[EMAIL PROTECTED]> =
