Jim Wilson wrote:
>
> Fl::grab()'s behavior is likely to remain quite idiosyncratic and may
> vary from platform to platform and from time to time.
>
> [...]
>
> Perhaps Fl::grab() could be simply expunged from the documentation or
> recommended "For FLTK internal use only". Then we can pray that
> Matthias can keep it together well enough to handle FLTK's menus across
> the various platforms.
I don't know what X{free|org} defines, but I think that it would be
really bad behavior, if a program could request to get all events,
even clicks on the desktop, window manager areas, or different
application windows.
IMHO, the documentation of Fl::grab() should state that it captures
all events for all windows of the requesting program (process/thread
or whatever), and that's it. Then the implementation should do what
the documentation says ... :-)
This should work correctly for menus, tooltips, etc., but disable
DOS (no not windows, but denial of service) programs that can hang
an X server.
BTW: in STR 1869 <http://www.fltk.org/str.php?L1869> I described
a problem that turned out to be an interaction of Fl::grab() and
Fl::readqueue(). The proposed patch has the (IMHO minor) side
effect, that you can drag the window away from an open menu, when
the fl_ask() or fl_alert() window is open. Just like someone else
mentioned earlier (WRT OS X) in this thread.
Albrecht
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk