On Wed, Dec 13, 2006 at 11:15:07AM +0100, Anselm R. Garbe wrote: > Just to let people know: I found that XWM.java in the source of > JDK6 in the path: > > j2se/src/solaris/classes/sun/awt/X11 > > Now I'm excited what it does and expects...
I looked into that class. Beside the fact that it's a hideous mess and that Java developers seem to be more moronic than I ever expected, I know why those Java apps behave totally broken with dwm now. I don't want to paste any code of that XWM.java file here, because I don't want to break any Sun license claims, but I have to tell you something and I hope that the responsible Java developers at Sun will get _fired_. First, this XWM class implements special handling for following existing window managers in the X world and besides this, it even implements workarounds for some bugs in existing WMs (I can't believe this, but obviously some Sun developers work with IceWM, which is handled in various special ways in that class). - Enlightenment (E16 and E17) - KDE2 - Sawfish - IceWM - Metacity - Openlook - MotifWM - CDE Besides this, the XWM class also 'detects' so called legacy WMs, which is called 'Other'. Fine so far, because wmii/evilwm/dwm/larswm etc.pp. fall into this category. However, in a method called 'Insets getInsets(...)' which has its roots in the Win32 world and is used to determine the geometry of the frame decor, a wrong assumption is implemented which won't work with window managers like dwm. First of all, XWM works properly in determining if a WM is present through attempting to select for SubstructureNotify events on the root window. But in the getInsets() method it assumes, that if a window manager is present, it wether does single reparenting or double reparenting, - if the WM does *NO* reparenting like dwm (to reduce resource consumption of X), it obviously wether runs into an exception which is catched internally or simply does not returns 'correctWM' (might be it returns an Insets of the size of the window in such a case, which means, the whole window is decorated... @Sun developers: IT IS UNBELIEVABLE that you care about the WM at all, because YOU DON'T NEED TO. NO X APPLICATION needs to _care_ about a WM, simply don't care and you can remove this XWM class crap... You only need to handle configurenotify's and care about your(!) client area, nothing else. It is really unbelievable... Regards, -- Anselm R. Garbe >< http://suckless.org/~arg/ >< GPG key: 0D73F361
