Java程序的swing-UI与awesome-wm不能很好地协同工作.awesome是UNIX的窗口管理器,它自动调整程序窗口的大小,Swing-UI无法正确识别这些调整大小.我不在乎,如果真棒或Java是有罪的,我想知道如果我能以某种方式改变我的Java程序,他们将与真棒合作.这样我的程序用户即使在使用异国情调的窗口管理器时也能获得正确的体验.
最简单的解决方法 - 从suckless获取wmname并使用它将窗口管理器的名称设置为LG3D:
wmname LG3D
这将解决问题的98%的时间.
从awesome的手册页:
BUGS Of course there´s no bug in awesome. But there may be unexpected behaviours. Java applications which use the XToolkit/XAWT backend may draw grey windows only. The XToolkit/XAWT backend breaks ICCCM-compliance in recent JDK 1.5 and early JDK 1.6 versions, because it assumes a reparenting window manager. As a workaround you can use JDK 1.4 (which doesn´t contain the XToolkit/XAWT backend) or you can set the following environment variable (to use the older Motif backend instead): AWT_TOOLKIT=MToolkit