Cygwin-X AWT windows snap back after drag in multi-window mode (w/example): long-standing issue

Jon Turney jon.turney@dronecode.org.uk
Sun Aug 14 11:11:11 GMT 2022


On 13/02/2022 16:14, John Harris wrote:
> For well over ten years, I (and other developers with the same
> configuration) have been experiencing this issue with Cygwin-X in
> multi-window mode with Java AWT apps.

Sigh.

> The issue is simply that the first time (and only the first time)
> certain AWT dialogs are dragged to move them, they snap back to their
> original position.
> 
> The problem exists across JDK's, computers, cygwin versions, fresh
> installs, and everything I've tried.
> 
> This can easily be reproduced by compiling (javac) and running (java)
> the attached trivial AWT code. If you get this error at runtime:

Thanks for the simple test case.

This looks like a problem in the same area as [1], where AWT tries to 
detect what WM it running under, but doesn't really understand about 
non-reparenting WMs and messes up...

This looks like a bug in AWT in that occurs with non-reparenting WMs 
(something like: learning the size of the "insets" (size of window frame 
and decorations) the first time a ConfigureNotify event occurs makes it 
move the window back to it's original location...)

You can see some of what's happening if you turn on the 
sun.awt.X11.XDecoratedPeer logger in AWT.

I tried a few things in the multiwindow mode WM as workarounds to avoid 
tripping over this behaviour in AWT, but without success, so I can only 
suggest you raise a bug on AWT.

[1] https://cygwin.com/pipermail/cygwin-xfree/2010-July/034625.html


More information about the Cygwin mailing list