PHPStorm (IntelliJ) and Xmonad

This article was published 3 years ago. Due to the rapidly evolving world of technology, some concepts may no longer be applicable.

Another quick one as I’m sure I’ll need to do this on another machine.

When launching PHPStorm, I was presented with a grey box that did nothing. I realised that it was probably related to the fact that I’m running XMonad.

After a quick Google, I came across the the tried and tested setWMName "LG3D" that I’ve used previously (to make Source games run under Steam). Unfortunately, this wasn’t working for PHPStorm because I’m also using XMonad.Hooks.EwmhDesktops which nullifies the effect of setWMName.

This issue existing because Xmonad is a non-reparenting window manager, and we need to inform Java of that.

You can either specify the environment variable when launching phpstorm:

_JAVA_AWT_WM_NONREPARENTING=1 phpstorm.sh

Or you can have it loaded into the environment automatically. I did this by adding the following to ~/.profile

export _JAVA_AWT_WM_NONREPARENTING=1

Thoughts on this post

Leave a comment?

Leave a Reply