3 ms·
All java applications refuse to render without said workaround, because AWT expects the WM to reparent its windows. This is IMO a bug in the JRE, because there
by IiydAbITMvJkqKf 5y ago
All java applications refuse to render without said workaround, because AWT expects the WM to reparent its windows. This is IMO a bug in the JRE, because there is no requirement for the WM to reparent.
I use steam on dwm without the steam patch, haven't noticed an issue so far.
- dfox 5y agoWhich is highly ironic as the probably only WM written in Java (Project Looking Glass) is not reparenting. IIRC the issue with AWT and non-reparenting WMs is mostly limited to popup (ie. override-redirect) windows that are positioned in relation to some kind of owner window (which means menus, tooltip popups...). AWT simply expectes that parent window of its window to be the frame window of reparenting WM and calulates the position in respect to that, if there isn't the frame window the position of the popup inside root window will be calculated as if the root window was the frame, which can result in anything from the position being slightly wrong (eg. shifted down by the height of awesome's "menu" bar) to the window being completely off-screen.
- IiydAbITMvJkqKf 5y agoAWT has hardcoded special treatment for WMs which call themselves "LG3D". Which is why [1] exists. Update: found the JDK code [2] [1] https://tools.suckless.org/x/wmname/ https://tools.suckless.org/x/wmname/ [2] https://github.com/openjdk/jdk/blob/9759fcb17b62d76d75b893481bbd4ef45e7ad366/src/java.desktop/unix/classes/sun/awt/X11/XWM.java#L582-L584 https://github.com/openjdk/jdk/blob/9759fcb17b62d76d75b89348...