xscope is difficult to set up. I wonder if you have started another X server in the background and which xscope parameters you've used?

So you may want to give a shoot to xtruss: http://www.chiark.greenend.org.uk/~sgtatham/xtruss/

It is used like strace.

$ xtruss pharo Pharo.image

When you move the mouse over the image window, you should get this type of output:

--- MotionNotify(root=w#000000DC, event=w#03000002, child=None, same-screen=True, root-x=573, root-y=320, event-x=14, event-y=266, detail=Normal, state=0x0010, time=0x2D840279)
--- MotionNotify(root=w#000000DC, event=w#03000002, child=None, same-screen=True, root-x=572, root-y=320, event-x=13, event-y=266, detail=Normal, state=0x0010, time=0x2D8402F5)
--- MotionNotify(root=w#000000DC, event=w#03000002, child=None, same-screen=True, root-x=571, root-y=320, event-x=12, event-y=266, detail=Normal, state=0x0010, time=0x2D8402F5)

When you enter focus in the Pharo window's area:

--- EnterNotify(root=w#000000DC, event=w#03000001, child=w#03000002, mode=Normal, same-screen=True, focus=False, root-x=1153, root-y=705, event-x=582, event-y=614, detail=NonlinearVirtual, state=0x0010, time=0x2D894A60)

When you make a click to bring the world menu, this is the event sequence:

--- EnterNotify(root=w#000000DC, event=w#03000001, child=None, mode=Grab, same-screen=True, focus=False, root-x=1169, root-y=397, event-x=598, event-y=306, detail=Inferior, state=0x0110, time=0x2D8C440F)
--- Expose(window=w#03000002, x=0, y=0, width=581, height=2, count=1)
--- Expose(window=w#03000002, x=0, y=2, width=582, height=660, count=0)
PutImage(drawable=wp#03000002, gc=g#03000003, depth=24, width=581, height=2, dst-x=0, dst-y=0, left-pad=0, format=ZPixmap, image-data=FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:...)
PutImage(drawable=wp#03000002, gc=g#03000003, depth=24, width=582, height=112, dst-x=0, dst-y=2, left-pad=0, format=ZPixmap, image-data=FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:...)
PutImage(drawable=wp#03000002, gc=g#03000003, depth=24, width=582, height=112, dst-x=0, dst-y=114, left-pad=0, format=ZPixmap, image-data=FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:...)
PutImage(drawable=wp#03000002, gc=g#03000003, depth=24, width=582, height=112, dst-x=0, dst-y=226, left-pad=0, format=ZPixmap, image-data=FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:...)
PutImage(drawable=wp#03000002, gc=g#03000003, depth=24, width=582, height=112, dst-x=0, dst-y=338, left-pad=0, format=ZPixmap, image-data=FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:...)
PutImage(drawable=wp#03000002, gc=g#03000003, depth=24, width=582, height=112, dst-x=0, dst-y=450, left-pad=0, format=ZPixmap, image-data=FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:...)
PutImage(drawable=wp#03000002, gc=g#03000003, depth=24, width=582, height=100, dst-x=0, dst-y=562, left-pad=0, format=ZPixmap, image-data=FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:FFEFEFEF:...)
--- PropertyNotify(window=w#000000DC, atom=a#324, state=NewValue, time=0x2D8C4416)
--- PropertyNotify(window=w#000000DC, atom=a#325, state=NewValue, time=0x2D8C4416)
--- FocusIn(event=w#03000001, mode=Normal, detail=Nonlinear)
SetInputFocus(focus=w#03000002, revert-to=None, time=CurrentTime)
--- ButtonPress(root=w#000000DC, event=w#03000002, child=None, same-screen=True, root-x=1169, root-y=397, event-x=598, event-y=306, detail=1, state=0x0010, time=0x2D8C440F)
--- PropertyNotify(window=w#000000DC, atom=a#324, state=NewValue, time=0x2D8C4417)
--- PropertyNotify(window=w#000000DC, atom=a#325, state=NewValue, time=0x2D8C4417)
--- PropertyNotify(window=w#000000DC, atom=a#239, state=NewValue, time=0x2D8C4418)
--- PropertyNotify(window=w#000000DC, atom=a#239, state=NewValue, time=0x2D8C4418)
--- PropertyNotify(window=w#000000DC, atom=a#324, state=NewValue, time=0x2D8C4419)
--- PropertyNotify(window=w#000000DC, atom=a#325, state=NewValue, time=0x2D8C4419)
--- PropertyNotify(window=w#000000DC, atom=a#239, state=NewValue, time=0x2D8C441B)
--- PropertyNotify(window=w#000000DC, atom=a#239, state=NewValue, time=0x2D8C441B)
--- PropertyNotify(window=w#000000DC, atom=a#282, state=NewValue, time=0x2D8C4423)
--- FocusOut(event=w#03000002, mode=Normal, detail=Pointer)
--- FocusOut(event=w#03000001, mode=Normal, detail=Inferior)
--- FocusIn(event=w#03000002, mode=Normal, detail=Ancestor)
PutImage(drawable=wp#03000002, gc=g#03000003, depth=24, width=155, height=267, dst-x=596, dst-y=275, left-pad=0, format=ZPixmap, image-data=FFACACAC:FFACACAC:FFACACAC:FFACACAC:FFACACAC:FFACACAC:FFACACAC:FFACACAC:FFACACAC:FFACACAC:FFACACAC:FFACACAC:FFACACAC:...)
--- ButtonRelease(root=w#000000DC, event=w#03000002, child=None, same-screen=True, root-x=1169, root-y=397, event-x=598, event-y=306, detail=1, state=0x0110, time=0x2D8C44F5)

Are you getting similar output?

Cheers,

Hern��n



2014/1/11 Martin McClure <martin@hand2mouse.com>
On 01/11/2014 12:17 AM, Hern��n Morales Durand wrote:
Didn't tried myself but there is a tracing library for X called xscope.
Is not included by default in most distros.

http://xorg.freedesktop.org/archive/individual/app/xscope-1.4.tar.gz

Don't bother with xev, does not capture clicks inside Pharo.

Well, I tried xscope. I'm not really familiar with the X protocol, but what I see looks reasonable. Pharo is getting notified of events, and is not responding, except when the mouse enters, then it requests focus. And Alt-. generates output on stdout, so these events are clearly getting to Pharo, just not producing any X output.

Anything else I should be looking for?

Regards,

-Martin