Как можно исправить Java-GUI-программу (качать), чтобы она работала с Awesome-wm?
-
05-09-2019 - |
Вопрос
Swing-UI Java-программ не идеально работает вместе с потрясающе-WM.Awesome — это оконный менеджер для UNIX, который автоматически изменяет размеры окон программы, а Swing-UI не распознает эти изменения правильно.Меня не волнует, виноваты Awesome или Java, я хочу знать, смогу ли я изменить свои Java-программы таким образом, чтобы они работали с Awesome.Чтобы пользователи моих программ получали правильный опыт, даже когда они используют экзотические оконные менеджеры.
Решение
Из man-страницы 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
Другие советы
Самый простой способ — получить Имя имени от Suckless и используйте его, чтобы установить имя оконного менеджера LG3D:
wmname LG3D
В 98% случаев это решит проблему.
Ты мощь обнаружил, что это аналогичная проблема, возникшая при использовании Compiz и Java (по крайней мере, в Ubuntu), но я предполагаю.
Исправление этого (взято из здесь) — добавить в вашу программу следующую переменную среды:
AWT_TOOLKIT="MToolkit"