Графический интерфейс Java Swing не отображается в Xmonad

У меня есть графический интерфейс Java Swing, который отлично работает и отображается с помощью других оконных менеджеров, но когда я запускаю его в Xmonad, он отображается неправильно. Все, что отображается, - это рамка окна, которая затемнена, без кнопок, меню и т. Д. Как я могу правильно отображать графический интерфейс Swing?


person Brian    schedule 09.06.2015    source источник


Ответы (2)


В ~/.xmonad/xmonad.hs добавить import XMonad.Hooks.SetWMName.

Затем добавьте startupHook = setWMName "LG3D", чтобы указать Xmonad использовать LG3D в качестве имени оконного менеджера.

xmonad $ defaultConfig
  { ...
    startupHook = setWMName "LG3D",
  }

Наконец, перезапустите Xmonad, используя mod-q, чтобы перезагрузить xmonad.hs.

Источники:

http://thinkingeek.com/2012/01/24/fix-java-gui-applications-xmonad/

http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Hooks-SetWMName.html

person Brian    schedule 09.06.2015
comment
импорт должен быть Monad.Hooks.SetWMName. Интересно, почему StackOverflow не позволяет редактировать только один символ. - person Haemin Yoo; 03.08.2018
comment
Это работает для Android Studio (на данный момент 3.6.x) на новой Ubuntu, где вы устанавливаете XMonad и запускаете Android Studio. - person Martin Marconcini; 20.05.2020

Чтобы получить 100% явный ответ, просто вставьте это в ~/.xmonad/xmonad.hs:

import XMonad
import XMonad.Hooks.SetWMName

main = xmonad defaultConfig
    { startupHook = setWMName "LG3D" }
person David Kay    schedule 27.07.2016