<div class="gmail_extra"><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
&gt;&gt; (paramterize ([current-eventspace gui-eventspace]) (queue-callback<br>
&gt;&gt; (lambda () (send f popup-menu menu2 100 100))))<br>
&gt;<br>
&gt;<br>
&gt; Just did that, and now it says #t for being in the gui-eventspace, but it<br>
&gt; still has the same behavior otherwise (i.e., the popup menu does not show up<br>
&gt; and then the button does not work anymore).<br>
<br>
</div>Perhaps the handler thread of the gui-eventspace is already busy doing<br>
something.<br></blockquote><div><br>Though the behavior is quite consistent and the callbacks are the same, so I have no clue what could keep it busy.<br>Are  you aware of any important difference between a button callback and a queue-callback? (the sources are rather obscure)<br>

 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br>
&gt;&gt; But probably it would be better to make sure that the callback that is<br>
&gt;&gt; handling the keystroke be on the gui-eventspace in the first place.<br>
&gt;<br>
&gt;<br>
&gt; I&#39;m not sure what you mean here. Is that different from queue-callback?<br>
<br>
</div>When an event comes into the system it has a frame associated with it,<br>
from the OS. DrRacket looks at that frame, finds its eventspace, finds<br>
the main handler thread, and then uses that thread to handle the<br>
callback. (If you have multiple eventspaces going, it is generally a<br>
good idea to know which events go to which eventspaces and what<br>
different eventspaces are doing at different times.)<br></blockquote><div><br>Ah ok.<br>The problem is I don&#39;t have too much control on most of the frames (it&#39;s a window manager), which are X11 windows (although maybe I could reparent them to Racket frame%s, but I&#39;m not sure Racket would be too happy if some of its children are non-racket objects).<br>

</div></div><br>Thank you very much, both of you.<br>Laurent<br></div>