PHPStorm (PyCharm и др.) и XMonad
После запуска PHPStorm вместо самое среды появляется лишь серое окно без ничего.
Работаю я в xmonad и произошло это после очередной правки конфига под себя.
В документации сказано, что для java-приложений нужен
startupHook = setWMName "LG3D"
Но этот хук перестал почему-то оказывать должный эффект (без него в ряде java-приложений тоже был пустой экран).
А все оказалось просто: я добавил хук ewmhDesktopsEventHook.
handleEventHook = do
ewmhDesktopsEventHook -- вот он
docksEventHook
fullscreenEventHook -- Full screen setup
Хук нужен для перехвата сообщений по активации окна, перемещению его на другой рабочий стол и переключении рабочих столов. Можно почитать документацию и код.
Но беда в том, что этот хук трет имя wm, которое устанавливается в конфиге (ставит “xmonad”). Этот wmname (который lg3d) служит решением для бага из awt.
Чтобы использовать ewmhDesktopsEventHook нужно указать java окольными путями, что она работает в “non reparenting” (не подобрал я нормального перевода :)) окружении.
Для этого служит переменная окружения _JAVA_AWT_WM_NONREPARENTING.
Пишем в ~/.bashrc или ~/.profile
export _JAVA_AWT_WM_NONREPARENTING=1
И теперь все хорошо.
Категории: Jff