Как я могу исправить Java-GUI-программу (swing), чтобы она работала с awesome-wm? - PullRequest
10 голосов
/ 06 апреля 2009

Swing-интерфейс Java-программ не работает идеально вместе с awesome-wm . awesome - это оконный менеджер для UNIX, который автоматически изменяет размеры программных окон, и Swing-UI не распознает их правильно. Мне все равно, виноват ли awesome или Java, что я хочу знать, если я смогу изменить свои Java-программы таким образом, чтобы они работали с awesome. Так что пользователи моих программ получают правильный опыт, даже когда они используют экзотические оконные менеджеры.

Ответы [ 3 ]

51 голосов
/ 09 ноября 2009

Самый простой обходной путь - получите wmname из suckless и используйте его, чтобы установить имя оконного менеджера на LG3D:

wmname LG3D

98% времени это решит проблему.

9 голосов
/ 06 апреля 2009

Из справочной страницы удивительно:

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
3 голосов
/ 06 апреля 2009

Вы могли бы обнаружить, что это проблема, аналогичная той, которая возникала при использовании Compiz и Java (по крайней мере, в Ubuntu), но я предполагаю.

Исправление для этого (взято из здесь ) заключается в добавлении следующей переменной среды в вашу программу:

AWT_TOOLKIT="MToolkit"
...