Some clients have problems creating windows. This seems to be related to Java UI. Observed and reproducable with IntelliJ IDE, MySQL Workbench (both Java).
I observe two problems:
- Sometimes the new window is too small (pseudotile)
- Sometimes only a part of the window is drawn/handled
- Sometimes both
In the second/third cases, this means that the client both only draws and accepts mouse input on a part of the window, as if it does not realize the window's real size. In some cases the window is also completely empty. It all can happen also in floating mode and it is pretty random (opening the same window several types leads to several different outcomes).
To investigate this further, I had the idea of maybe the window manager providing several window sizes to the application which might not keep up with the changes.
Below is some xev output (filtered all property setting etc. messages). The main difference I see is that hlwm reconfigures the window after it is already visible (but doesn't really change anything). Another observation is that in tiling mode, the window is first configured in the size requested by the client several times before it is eventually configured to fit into the layout.
For now I don't see a specific reason for the clients stumbling.
Tiling mode
CreateNotify event, serial 11, synthetic NO, window 0x5e00001,
parent 0x5e00001, window 0x5e00002, (10,10), width 50, height 50
border_width 4, override NO
ConfigureNotify event, serial 28, synthetic NO, window 0x5e00001,
event 0x5e00001, window 0x5e00001, (0,0), width 178, height 178,
border_width 0, above 0x5600007, override NO
ReparentNotify event, serial 28, synthetic NO, window 0x5e00001,
event 0x5e00001, window 0x5e00001, parent 0x6466e4,
(40,40), override NO
ConfigureNotify event, serial 28, synthetic NO, window 0x5e00001,
event 0x5e00001, window 0x5e00001, (3,3), width 178, height 178,
border_width 0, above 0x6466e5, override NO
ConfigureNotify event, serial 28, synthetic YES, window 0x5e00001,
event 0x5e00001, window 0x5e00001, (0,0), width 178, height 178,
border_width 0, above 0x0, override NO
ConfigureNotify event, serial 28, synthetic NO, window 0x5e00001,
event 0x5e00001, window 0x5e00001, (3,3), width 1672, height 1041,
border_width 0, above 0x6466e5, override NO
ConfigureNotify event, serial 28, synthetic YES, window 0x5e00001,
event 0x5e00001, window 0x5e00001, (1924,4), width 1672, height 1041,
border_width 0, above 0x0, override NO
VisibilityNotify event, serial 29, synthetic NO, window 0x5e00001,
state VisibilityUnobscured
ConfigureNotify event, serial 29, synthetic YES, window 0x5e00001,
event 0x5e00001, window 0x5e00001, (1924,4), width 1672, height 1041,
border_width 0, above 0x0, override NO
Floating mode
Outer window is 0x6200001, inner window is 0x6200002
CreateNotify event, serial 11, synthetic NO, window 0x6200001,
parent 0x6200001, window 0x6200002, (10,10), width 50, height 50
border_width 4, override NO
ConfigureNotify event, serial 28, synthetic NO, window 0x6200001,
event 0x6200001, window 0x6200001, (0,0), width 178, height 178,
border_width 0, above 0x5e00007, override NO
ReparentNotify event, serial 28, synthetic NO, window 0x6200001,
event 0x6200001, window 0x6200001, parent 0x64698a,
(40,40), override NO
ConfigureNotify event, serial 28, synthetic NO, window 0x6200001,
event 0x6200001, window 0x6200001, (3,3), width 178, height 178,
border_width 0, above 0x64698b, override NO
ConfigureNotify event, serial 28, synthetic YES, window 0x6200001,
event 0x6200001, window 0x6200001, (0,0), width 178, height 178,
border_width 0, above 0x0, override NO
ConfigureNotify event, serial 28, synthetic YES, window 0x6200001,
event 0x6200001, window 0x6200001, (3,3), width 178, height 178,
border_width 0, above 0x0, override NO
VisibilityNotify event, serial 28, synthetic NO, window 0x6200001,
state VisibilityUnobscured
ConfigureNotify event, serial 28, synthetic YES, window 0x6200001,
event 0x6200001, window 0x6200001, (3,3), width 178, height 178,
border_width 0, above 0x0, override NO
OpenBox:
CreateNotify event, serial 11, synthetic NO, window 0x400001,
parent 0x400001, window 0x400002, (10,10), width 50, height 50
border_width 4, override NO
ReparentNotify event, serial 18, synthetic NO, window 0x400001,
event 0x400001, window 0x400001, parent 0x200534,
(0,0), override NO
ConfigureNotify event, serial 20, synthetic NO, window 0x400001,
event 0x400001, window 0x400001, (0,0), width 178, height 178,
border_width 0, above 0x200560, override NO
ConfigureNotify event, serial 20, synthetic NO, window 0x400001,
event 0x400001, window 0x400001, (1,20), width 178, height 178,
border_width 0, above 0x200560, override NO
ConfigureNotify event, serial 21, synthetic YES, window 0x400001,
event 0x400001, window 0x400001, (409,418), width 178, height 178,
border_width 2, above 0x0, override NO
VisibilityNotify event, serial 34, synthetic NO, window 0x400001,
state VisibilityUnobscured