X
1064

CURSOR procedure freezes IDL or behaves unexpectedly when running IDL remotely via SSH on MacOS

PROBLEM:

This issue only occurs when IDL is run remotely via SSH from another computer while you are physcially sitting at a MacOS computer. The remote machine may either be Linux or MacOS. The typical access method is through something like "ssh -X".

When using the CURSOR procedure in IDL and clicking within the graphics window, nothing happens and IDL is unresponsive. The only way to get out of this state is to go back to the terminal window and type ^C.  Even then nothing happens until the cursor is moved back into the graphics window.  The moment the cursor re-enters the plot window, you will see the message:

 

^C% Interrupted at: $MAIN$

 

followed by the IDL cursor.  Looking at the returned X and Y values in IDL, they record the position of the cursor at the moment it reentered the graphics window. 

This is not how CURSOR should work.

 

SOLUTION: 

To fix the issue on MacOS, you must change an XQuartz setting. Go to XQuartz > Preferences > Windows tab and then toggle on "Click-through Inactive Windows". As soon as that setting is enabled, CURSOR will behave as expected when remotely running IDL through SSH. 

 

 

 

 

 

Created by BC-NA on 12/14/22, Reviewed by XXXX